guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Configure GMP to use GC allocation functions, remove bignum


From: Ludovic Courtès
Subject: Re: [PATCH] Configure GMP to use GC allocation functions, remove bignum finalizers
Date: Tue, 29 Nov 2011 14:18:40 +0100
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux)

Hey!

Andy Wingo <address@hidden> skribis:

> On Tue 29 Nov 2011 12:06, address@hidden (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’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]