You are right, for your example I get pause times between 44 and 110us on Linux. While for Araqs first example GC_disableMarkAndSweep() was necessary to get so small values.
Well you can always switch it off and see what happens,
And what may happen? I assume that some cyclic mem may not be freed, so one may get a slow memory leak, with maybe out of mem errors after some months of uptime?
Breaking up cycles via ptr -- well before that we have to detect the cycles of course
It kept sliding down my todo list unfortunately.
For reference, here is a comparison of the performance of most of the language's in this benchmark: