On my bit old Gentoo linux machine, $ nim -v Nim Compiler Version 0.20.2 [Linux: amd64] Compiled at 2019-07-30 Run C++: 3.4269 nim c -r -d:release seqbench.nim 6.683s nim c -r -d:danger seqbench.nim 6.986s nim cpp -r -d:danger seqbench.nim 7.011s nim c -r -d:danger --gc:none seqbench.nim 3.922s nim c -r -d:danger --newruntime seqbench.nim 5.769s Run
According to this document, [https://nim-lang.org/docs/gc.html](https://nim-lang.org/docs/gc.html) > The GC is only triggered in a memory allocation operation. It is not > triggered by some timer and does not run in a background thread. Your code allocate heap memory inside the loop. It seems GC is a bottleneck.