This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: guile/guile-core/libguile init.c
Just did some simple looking at performace on mys system, and got some
numbers...
March 9th guile:
guile> (let f ((n 1000000))
(cons "a" "b")
(if (= n 0) #t (f (- n1))))
#t
guile> (gc-stats)
((gc-time-taken . 248)
(cells-allocated . 44197)
(cell-heap-size . 98304)
(bytes-malloced . 114058)
(gc-malloc-threshold . 168795)
(cell-heap-segments (1075392520 . 1075130376)
(1075920904 . 1075396616)))
6.51user 0.24system 0:06.77elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (867major+639minor)pagefaults 0swaps
Guile CVS with GUILE_NEW_GC_SCHEME:
((gc-time-taken . 664)
(cells-allocated . 21260190)
(cell-heap-size . 39996)
(bytes-malloced . 113996)
(gc-malloc-threshold . 168715)
(cell-heap-segments (134559976 . 134519976)
(1075450376 . 1075130376)))
10.18user 0.17system 0:10.67elapsed 96%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (867major+535minor)pagefaults 0swaps
Guile CVS without GUILE_NEW_GC_SCHEME:
((gc-time-taken . 504)
(cells-allocated . 44632510)
(cell-heap-size . 60000)
(bytes-malloced . 114028)
(gc-malloc-threshold . 168715)
(cell-heap-segments (1075450376 . 1075130376)
(1075773960 . 1075453960)
(1075937544 . 1075777544)))
8.93user 0.36system 0:09.29elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (867major+644minor)pagefaults 0swaps
These times are pretty repeatable, and other measures show about the
same effect (startup times, etc...), although when (cons "a" "b") is
replaced with (* 1.0e-9 325.6) the times for March 9th guile are 7.23
seconds, and GUILE_NEW_GC_SCHEME are 10.45, so the gap narrows due to
improved FP performance.
Of course, I may not know what I'm doing, so take these numbers with a
salt lick :)
-Eric