On Fri, 2025-02-21 at 09:23 +0100, Sven Hartrumpf wrote: > Dear Guile users. > > I am looking for GC-oriented benchmarks, preferably portable Scheme code. > > Why am I asking? > I am investigating a regression in GC time (bdw-gc) for many days, > but my application seems to be too complex for me to unterstand the cause:-) > Hence I am looking for simpler code that can reproduce the issue. > Currently in my (too complex) "benchmark" application, > the GC collects 70 GB collected in 200 collections. > The simple benchmark(s) I am looking for can be smaller, but not too much. > > It seems to be caused by stepping from gcc-11 (or older) to gcc-12 (or newer), > but only for the x32 ABI - https://en.wikipedia.org/wiki/X32_ABI - so far.
A possibility might be to switch to another GC or another Scheme implementation. Are you aware of the Qish GC on http://starynkevitch.net/basile/qishintro.html or the Bigloo Scheme implementation on https://www-sop.inria.fr/indes/fp/Bigloo/ or the MPS garbage collector on https://github.com/Ravenbrook/mps and https://www.ravenbrook.com/project/mps/ or https://pages.lip6.fr/Christian.Queinnec/WWW/LiSP.html or https://github.com/pahihu/libscheme BTW the GCC compiler itself (it current version is GCC-14) has a garbage collector inside it:https://gcc.gnu.org/wiki/gengtype https://arxiv.org/abs/1109.0779 and the C++ code (GPL licensed) on https://github.com/RefPerSys/RefPerSys/ contains a GC and could be extended to become a Scheme implementation regards -- Basile STARYNKEVITCH <bas...@starynkevitch.net> 8 rue de la Faïencerie 92340 Bourg-la-Reine, France http://starynkevitch.net/Basile & https://github.com/bstarynk