6 ms·
Nim "cheats" in a similar way C and C++ submissions do: -fno-signed-zeros -fno-trapping-math Although arguably these flags are more reasonable than allowing th
by neonsunset 9mo ago
Nim "cheats" in a similar way C and C++ submissions do: -fno-signed-zeros -fno-trapping-math
Although arguably these flags are more reasonable than allowing the use of -march=native.
Also consider the inherent advantage popular languages have: you don't need to break out to a completely niche language, while achieving high performance. Saying this, this microbenchmark is naive and does not showcase realistic bottlenecks applications would face like how well-optimized standard library and popular frameworks are, whether the compiler deals with complexity and abstractions well, whether there are issues with multi-threaded scaling, etc etc. You can tell this by performance of dynamically typed languages - since all data is defined in scope of a single function, the compiler needs to do very little work and can hide the true cost of using something like Lua (LuaJIT).
- forgotpwd16 9mo agoPer the rules[0]: "Use idiomatic code for the language. Compiler optimizations flags are fine." Agree with the rest of your comment. [0]: https://github.com/niklas-heer/speed-comparison#rules https://github.com/niklas-heer/speed-comparison#rules
- archargelod 9mo ago> Nim "cheats" in a similar way C and C++ submissions do: -fno-signed-zeros -fno-trapping-math I don't see these flags in Nim compilation config. The only extra option used is "-march=native"[0]. [0] https://github.com/niklas-heer/speed-comparison/blob/9681e8e3ab65af9ff8abd3f27db0f461bcbdd820/dagger-poc/languages.py#L229 https://github.com/niklas-heer/speed-comparison/blob/9681e8e...
- neonsunset 9mo agohttps://github.com/niklas-heer/speed-comparison/blob/9681e8e3ab65af9ff8abd3f27db0f461bcbdd820/Earthfile#L276 https://github.com/niklas-heer/speed-comparison/blob/9681e8e...