[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GLIL->C compilation
From: |
Stefan Israelsson Tampe |
Subject: |
Re: GLIL->C compilation |
Date: |
Sat, 20 Nov 2010 00:20:03 +0100 |
User-agent: |
KMail/1.13.5 (Linux/2.6.34.7-0.5-desktop; KDE/4.4.4; x86_64; ; ) |
On Saturday, November 20, 2010 12:11:16 am Ludovic Courtès wrote:
> Hi,
>
> Stefan Israelsson Tampe <address@hidden> writes:
> > #include "cfkn.h"
> > #define LOCAL_REF(i) fp[i]
> > #define LOCAL_SET(i,v) fp[i] = (v)
> > void cfkn3676(SCM *fp, SCM **spp)
> > {
> >
> > /* setup of environment */
> > SCM *objects, *free, program, *sp, sss[100];
> > sp = sss;
> > program = fp[-1];
> > objects = SCM_I_VECTOR_WELTS (SCM_PROGRAM_OBJTABLE (program));
> > free = SCM_PROGRAM_FREE_VARIABLES(program);
> > /* compiled section */
> >
> > LCASE3666:
> > goto L3668;
> > LCASE3665:
> > sp++; *sp = LOCAL_REF(1);
> > sp++; *sp = SCM_I_MAKINUM(0);
> > sp-=2; if(!scm_is_eq(sp[1],sp[2])) goto L3669;
> > sp++; *sp = LOCAL_REF(2);
>
> [...]
>
> Comparing this to the VM’s bytecode interpreter should show the overhead
> incurred by instruction dispatch.
>
> Did you try to measure this? That’d be interesting.
>
> Thanks,
> Ludo’.
Yes on one of my machine one loop takes about 6ns for the compiled one and
about 50ns for the bytcode, say a factor of 7-10 for simple tasks, but
remember
this is for rather trivial work.
Re: The progress of hacking guile and prolog, Andy Wingo, 2010/11/20
Re: The progress of hacking guile and prolog, Stefan Israelsson Tampe, 2010/11/04
Re: The progress of hacking guile and prolog, Stefan Israelsson Tampe, 2010/11/05