[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