On Tuesday, 18 February 2025 at 16:40:11 UTC, deadalnix wrote:
On Tuesday, 11 February 2025 at 16:30:57 UTC, FeepingCreature
wrote:
Correction: after more testing this seems to be almost
entirely due to use of `--link-defaultlib-shared`. The new GC
seems about as fast as the old one given the same flags.
That's fantastic news!
Have you tried the parallel mark? You should be able to by nto
passing `--DRT-gcopt=parallel:0`. That being said, there are a
few pitfalls remainign with that one, so we recomand not using
it in prod at this stage. Nevertheless, having feedback about
it would be nice, and if it works for you, it works for you.
Note that the problems you can experience with that won't be
memory corruption and alike, but incompatibilities with
libraries that start their own threads, this kind of things.
I was never passing that in the first place, so. But okay, I
actually benched instead of vibing and here's some numbers: we
have an internal testcase that's very heavily GC loaded, a
program that jumps up from 0 to 3GB during startup as it reads
two gigs of xml. And if I switch from 2.108 stock to NewGC with
parallel, the time taken to read and decode that big blob of xml
goes from 48 seconds to **14 seconds.**
So, you know, not too shabby.
(GIV GC PLS, I want it--!)