digitalmars.D.learn - gcopt=fork:1
- =?UTF-8?Q?Ali_=c3=87ehreli?= (5/5) Mar 01 2022 Have you tried this new GC option which seems to solve the
- Anonymouse (6/11) Mar 02 2022 It didn't work well for me; the process hung in
- =?UTF-8?Q?Ali_=c3=87ehreli?= (12/15) Mar 02 2022 And it showed worse pause performance in a micro-benchmark program that
Have you tried this new GC option which seems to solve the stop-the-world issue: https://dlang.org/changelog/2.098.0.html#forkgc Any experience? Ali
Mar 01 2022
On Tuesday, 1 March 2022 at 21:32:07 UTC, Ali Çehreli wrote:Have you tried this new GC option which seems to solve the stop-the-world issue: https://dlang.org/changelog/2.098.0.html#forkgc Any experience? AliIt didn't work well for me; the process hung in `__memcpy_avx_unaligned_erms` when profiling under valgrind/callgrind, during the first collection. I tried and failed to reproduce it with a minimal example, so I didn't file an issue.
Mar 02 2022
On 3/2/22 07:11, Anonymouse wrote:It didn't work well for me; the process hung in `__memcpy_avx_unaligned_erms` when profiling under valgrind/callgrind, during the first collection.And it showed worse pause performance in a micro-benchmark program that I wrote that ran only for 10 seconds. But perhaps that worse pause was only on one of the threads so maybe I was better overall. (?) Before getting to conclusions, does anyone have a GC benchmark program that demonstrates issues with D's GC? I am thinking, a separate driver program can pipeProcess() the benchmark program and measure pipe interaction latency. However, I am not convinced the benchmark program I wrote causes long pauses: The GC profiler reports 6ms (or so) pauses at most. Can we write a program that puts the blame on D's GC. Thank you, Ali
Mar 02 2022