Hey! Andy Wingo <wi...@pobox.com> skribis:
> On Tue 29 Nov 2011 12:06, l...@gnu.org (Ludovic Courtès) writes: > >> Could you run the stuff under gc-benchmarks/ with and without the >> heuristic, as in [0]? >> >> [0] http://thread.gmane.org/gmane.lisp.guile.devel/7803 IIRC the “Guile” lines below correspond to whatever guile is in $PATH. Do you know what that is in your case? > Adding a FSD=2 entry: > > benchmark: `gc-benchmarks/gcbench.scm' > heap size (MiB) execution time (s.) > Guile 53.17 (1.00x) 1.965 (1.00x) > BDW-GC, FSD=2 55.76 (1.05x) 1.953 (0.99x) - > BDW-GC, FSD=3 44.94 (0.85x) 2.017 (1.03x) ++ > BDW-GC, FSD=6 37.74 (0.71x) 2.361 (1.20x) ++++ > BDW-GC, FSD=9 37.77 (0.71x) 2.913 (1.48x) ++++ > BDW-GC, FSD=2 incr. 54.32 (1.02x) 2.049 (1.04x) > BDW-GC, FSD=3 incr. 51.21 (0.96x) 2.164 (1.10x) + > BDW-GC, FSD=3 gene. 54.50 (1.02x) 2.131 (1.08x) > > benchmark: `gc-benchmarks/string.scm' > heap size (MiB) execution time (s.) > Guile 356.60 (1.00x) 0.564 (1.00x) > BDW-GC, FSD=2 380.20 (1.07x) 0.498 (0.88x) - > BDW-GC, FSD=3 265.62 (0.74x) 0.463 (0.82x) ++++ > BDW-GC, FSD=6 319.94 (0.90x) 0.485 (0.86x) ++ > BDW-GC, FSD=9 318.98 (0.89x) 0.489 (0.87x) ++ > BDW-GC, FSD=2 incr. 477.82 (1.34x) 0.624 (1.11x) ----- > BDW-GC, FSD=3 incr. 418.91 (1.17x) 0.643 (1.14x) --- > BDW-GC, FSD=3 gene. 338.70 (0.95x) 0.615 (1.09x) + > > Win! Yeah, looks pleasant! :-) The funny thing is that the initial FSD (which is what is shown here) has an impact, although one might think the initial value doesn’t matter much since adjust_gc_something changes it anyway. The other interesting thing is that it seems to be noticeably better, even on pure Scheme code–i.e., code that only does GC_malloc, not malloc. Thanks, Ludo’.