[gambit-list] Schelog and inlining eqv?

Bradley Lucier lucier at math.purdue.edu
Tue Aug 21 22:16:20 EDT 2007


Marc:

Discussing schelog again brought to mind my suggestion about how the  
compiler should inline eqv?:

https://webmail.iro.umontreal.ca/pipermail/gambit-list/2006-October/ 
000885.html

Some results on the naive reverse% benchmark are at

https://webmail.iro.umontreal.ca/pipermail/gambit-list/2006-October/ 
000890.html

Even on the "houses" puzzle, which spends a lot of time in the  
"occurs" check, the change in how to compile eqv? makes a big  
difference with the declarations:

> (declare (standard-bindings) (extended-bindings) (block))
> (declare (not safe))
> (declare (inlining-limit 1000))

New eqv?:

> [brad:~/Desktop/schelog/examples] lucier% gsc -:m100000
> Gambit Version 4.0 beta 23
>
> > (load "../gambit-unix-version-of-schelog")
> "/Users/lucier/Desktop/schelog/examples/../gambit-unix-version-of- 
> schelog.o2"
> > (load "houses")
> "/Users/lucier/Desktop/schelog/examples/houses.o1"
> > (load "puzzle")
> "/Users/lucier/Desktop/schelog/examples/puzzle.o1"
> > (time (solve-puzzle %houses))
> (time (solve-puzzle %houses))
>     395 ms real time
>     366 ms cpu time (268 user, 98 system)
>     no collections
>     66951840 bytes allocated
>     no minor faults
>     no major faults
> ((solution= ((japan owns the zebra) (norway drinks water))))
> >
> *** EOF again to exit

Old eqv?:

> [brad:~/Desktop/schelog/examples] lucier% gsc -:m100000
> Gambit Version 4.0 beta 23
>
> > (load "../gambit-unix-version-of-schelog.o1")
> "/Users/lucier/Desktop/schelog/examples/../gambit-unix-version-of- 
> schelog.o1"
> > (load "houses")
> "/Users/lucier/Desktop/schelog/examples/houses.o1"
> > (load "puzzle")
> "/Users/lucier/Desktop/schelog/examples/puzzle.o1"
> > (time (solve-puzzle %houses))
> (time (solve-puzzle %houses))
>     709 ms real time
>     657 ms cpu time (551 user, 106 system)
>     no collections
>     66952160 bytes allocated
>     no minor faults
>     no major faults
> ((solution= ((japan owns the zebra) (norway drinks water))))
> >
> *** EOF again to exit




More information about the Gambit-list mailing list