No idea about any official positions. Both `markAndSweep` (gasp! a _runtime_!) 
and `mm:refc` give the best times on this one eeking out 10..20% better than 
the memory mapped versions (maybe recoverable with huge TLBs on the maps). { 
but this kind of thing does tend to vary from OS-to-OS and CPU-to-CPU..and vary 
by, well, more than 20% :-) I even saw gcc PGO _slow down_ the `memfiles` 
variant by 10%, roughly corresponding to "only" different backend C compiler 
flags and that `-fno-pie` was another weird 1.25x factor, actually...Did not 
try clang PGO..It's really a dizzyingly large space of things to try. }.

There are at least 3 good easy options here within +- 20%, all faster than the 
Rust (which as Vindaar correctly observed could surely be brought to parity 
with "enough work" which, sure, has maybe already been done somewhere). How I 
like to put it is that Nim, like other systems languages (C, C++, Rust,..) 
"responds well to optimization effort". How I like to put the dizzying space 
bit is that "perf sure can be unstable with so many choices!" :-) People too 
often leap from an initial coarse assessment to never-again-checked 
rules-of-thumb (& not just in tech!).

Reply via email to