[gambit-list] inlining eqv? etc.

Bradley Lucier lucier at math.purdue.edu
Tue Oct 10 02:30:11 EDT 2006


I changed eqv? in dynamic.scm to be macro-expanded the way I  
suggested in the previous e-mail.  It didn't make a whole lot of  
difference (note the compile time on my 2.something GHz opteron  
server; this is getting obscene).

Old way:

euler-83% ./bench gambit dynamic

Testing dynamic under Gambit-C-r5rs
Compiling...
144.25user 5.18system 2:30.64elapsed 99%CPU (0avgtext+0avgdata  
0maxresident)k
0inputs+0outputs (0major+1214690minor)pagefaults 0swaps
Running...

(time (run-bench name count ok? run))
     1315 ms real time
     1265 ms cpu time (1231 user, 34 system)
     33 collections accounting for 288 ms real time (265 user, 7 system)
     245641224 bytes allocated
     8696 minor faults
     no major faults


New way:

euler-81% ./bench gambit dynamic

Testing dynamic under Gambit-C-r5rs
Compiling...
146.31user 5.43system 2:35.02elapsed 97%CPU (0avgtext+0avgdata  
0maxresident)k
0inputs+0outputs (0major+1220725minor)pagefaults 0swaps
Running...

(time (run-bench name count ok? run))
     1231 ms real time
     1190 ms cpu time (1160 user, 30 system)
     33 collections accounting for 289 ms real time (270 user, 6 system)
     245641224 bytes allocated
     8696 minor faults
     no major faults

Under r6rs it doesn't seem to help at all; I don't know what's going  
on here:

old way:

euler-90% ./bench -c no -s r6rs gambit dynamic

Testing dynamic under Gambit-C-r6rs
Compiling...
39.17user 1.81system 0:41.40elapsed 98%CPU (0avgtext+0avgdata  
0maxresident)k
0inputs+0outputs (0major+405124minor)pagefaults 0swaps
Running...

(time (run-bench name count ok? run))
     1083 ms real time
     1079 ms cpu time (1039 user, 40 system)
     34 collections accounting for 279 ms real time (268 user, 7 system)
     244653128 bytes allocated
     7686 minor faults
     no major faults

new way:

euler-88% ./bench -c no -s r6rs gambit dynamic

Testing dynamic under Gambit-C-r6rs
Compiling...
40.13user 1.65system 0:42.21elapsed 99%CPU (0avgtext+0avgdata  
0maxresident)k
0inputs+0outputs (0major+410675minor)pagefaults 0swaps
Running...

(time (run-bench name count ok? run))
     1090 ms real time
     1086 ms cpu time (1046 user, 40 system)
     34 collections accounting for 281 ms real time (275 user, 4 system)
     244653128 bytes allocated
     7686 minor faults
     no major faults

Brad

(PS:  You should really copy dynamic.scm to dynamic-data.scm and  
apply the program to that file; it would make it a lot easier to hack  
dynamic.scm without worrying about crashing the program or getting  
different results.)




More information about the Gambit-list mailing list