4 ms·
Are you just using --opt:speed to compile the Nim examples? For maximum performance you should be using -d:release.
by dom96 12y ago
Are you just using --opt:speed to compile the Nim examples? For maximum performance you should be using -d:release.
- mrob 12y ago-d:release disables bounds checking, so the Rust examples would have to be modified for unchecked indexing for a fair comparison.
- dom96 12y agoIt disables a lot of other things too. The current comparison is unfair. Why do the examples need to be modified to disable bounds checking for Rust? If it's easier you can compile the Nim examples with -d:release and enable bounds checking by also supplying --boundChecks:on.
- arthurtw 12y agoI’ve added additional results with Nim’s --boundChecks:on flag. Thank you two for the suggestions.
- arthurtw 12y agoOh, my bad. The numbers differ a lot (2~2.5x faster). I’ve updated the article.
- omaranto 12y agoNow it's more in line with my experience of Nim usually being quite a bit faster than Rust, not to mention much easier to write and less verbose (text munging code in Rust seemed to be about 15% calls to as_slice() and to_string ()).
- kibwen 12y agoThe as_slice situation was acknowledged to be deplorable, and is being vastly improved in the runup to 1.0. As for speed, please file a performance bug! We love to know where we're missing out on optimizations. https://github.com/rust-lang/rust/issues https://github.com/rust-lang/rust/issues