logo       

Re: -benchmark-mode: msg#00064

lisp.scheme.chicken

Subject: Re: -benchmark-mode

-benchmark-mode implies -O3, which implies -optimize-leaf-routines.

The latter transforms routines that don't perform any further
calls and do only simple operations into non-CPS procedures,
which is more efficient. So for example:

(define (foo x) (+ x 1))

(print (list (foo 33) (foo 44))) ; call twice to avoid beta-contraction

produces:

/* foo in k18 in k15 in k12 */
static C_word C_fcall f_22(C_word t1){
C_word tmp;
C_word t2;
return((C_word)C_u_fixnum_plus(t1,C_fix(1)));}


cheers,
felix

On 12/16/05, Daishi Kato <daishi@xxxxxxxxxxx> wrote:
> Hi,
>
> I just wondered about csc -help,
> why -benchmark-mode does not include -optimize-leaf-routines,
> although I have no idea what it exactly is.
>
> Thanks,
> Daishi
>
>
> _______________________________________________
> Chicken-users mailing list
> Chicken-users@xxxxxxxxxx
> http://lists.nongnu.org/mailman/listinfo/chicken-users
>


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise