3 ms·
Is there any usage of Nim in “production”? How is the performance of the compiled code (and also the compiler)? (NB: I love a fun new language to play with as
by filleokus 6y ago
Is there any usage of Nim in “production”? How is the performance of the compiled code (and also the compiler)?
(NB: I love a fun new language to play with as much as the next guy, just curious)
- planetis 6y agoShort answer yes. See: https://github.com/nim-lang/Nim/wiki/Companies-using-Nim https://github.com/nim-lang/Nim/wiki/Companies-using-Nim People usually announce this stuff in the forum before this page is edited so you might want to search there as well.
- Isomorpheus 6y ago2/12 of those are dead links
- planetis 6y agoHere is the first one: https://github.com/OnsetGame https://github.com/OnsetGame Maybe someone can find the other.
- mratsim 6y agoAs the resident Nim optimizer, if you can reach some performance in C, you can reach it in Nim. With some work you can even reach the performance of code which is 95% assembly and has been tuned for years (i.e. matrix multiplication): - Reaching C Quake code speed in Nim: https://forum.nim-lang.org/t/5124#32241 https://forum.nim-lang.org/t/5124#32241 - Reaching and going beyond OpenBLAS + OpenMP performance (almost pure Assembly): https://github.com/mratsim/weave/issues/68#issuecomment-571781332 https://github.com/mratsim/weave/issues/68#issuecomment-5717... - Faster than C++ on Raytracing bench: https://github.com/mratsim/weave/tree/9f0c384f/demos/raytracing https://github.com/mratsim/weave/tree/9f0c384f/demos/raytrac... - Faster than C++ on another Raytracing implementation: https://github.com/mratsim/trace-of-radiance/tree/v0.2.0 https://github.com/mratsim/trace-of-radiance/tree/v0.2.0 Also Nim is easy to integrate with Intel VTune, Apple Instruments and perf. You have full control on the data layout, prefetching and the same control as C over cache and memory usage if you so wish it (i.e. the GC is not a hindrance, you have easy escape hatches).