3 ms·
Currently Rust, Scala, Go and Haskell are all about equally fast, according to http://benchmarksgame.alioth.debian.org/ http://benchmarksgame.alioth.debian.org/
by tormeh 12y ago
Currently Rust, Scala, Go and Haskell are all about equally fast, according to http://benchmarksgame.alioth.debian.org/ http://benchmarksgame.alioth.debian.org/ . C, C++ and Ada are still the fastest. It's intersting to me that all the new languages are about equally fast.
- pcwalton 12y agoWe haven't parallelized and optimized our implementations of those benchmarks yet. I wouldn't read too much into that.
- Jweb_Guru 12y agoI'm not talking about current benchmarks, but theoretical speed. As a language (not an implementation, set of libraries, etc.) Rust will allow for programs to run as fast as C or C++ in all situations.* Ada, Scala, Go and Haskell may be able to do better in isolated situations, but in general this is not true for them. A lot of the time, this doesn't matter, but it's very important when you want to be considered a serious competitor in the domain of systems languages. * Pending some in-the-works reforms, and not including implementation-specific features like labels as values (https://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_4.html#SEC64 https://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_4.html#SEC64).
- igouy 12y ago1) Even though the benchmarks game only shows a handful of tiny programs, Rust programs have only been contributed for half the tasks. (There are Dart programs for more of the tasks.) Incidentally, some of those Rust programs are written for multicore: binary-trees Rust ≈ CPU Load 96% 86% 92% 92% fannkuch-redux Rust ≈ CPU Load 100% 100% 100% 100% regex-dna Rust ≈ CPU Load 59% 79% 80% 59% 2) Your "about equally fast" covers what others regard as enormous differences :)
- tormeh 12y agoWell, none of those are clear wins over any of the others. They're somewhere in between the hyperoptimized compiled languages and the interpreted ones, and very distinct from them.
- igouy 12y agoWhy wouldn't you expect Rust program performance to be distinct from interpreted program performance?