2 ms·
"Fast" and "close" are subjective terms. That's a 50% increase for a few thousand function calls. PyPy uses JIT to improve Python run time speeds but it's stil
by wting 14y ago
"Fast" and "close" are subjective terms. That's a 50% increase for a few thousand function calls.
PyPy uses JIT to improve Python run time speeds but it's still magnitudes slower than statically typed languages.
I've upped n to 40 and rerun with the following languages:
C: 0.38s
Java: 0.55s
Go: 0.90s
Rust: 1.29s
LuaJit: 2.19s
Haskell: 8.97s
PyPy: 10.06s
Lua: 22.87s
Ruby: 22.13s
Python2: 43.88s
Python3: 66.28s
All code is available in the previous mentioned gist:
https://gist.github.com/wting/77c9742fa1169179235f https://gist.github.com/wting/77c9742fa1169179235f
- cygwin98 14y agoCan't imagine Ruby is twice as fast as Python 2 and three times as fast as Python 3 right now. Can you share your code in a gist?
- smosher 14y agoI'm curious what times you get with an iterative version, or at least using a LUT. As-is, this mostly benchmarks the stack (admittedly that is an interesting datapoint.)
- dilap 14y agoThanks for the extra results. Obviously, a single micro-benchmark will only take you so far (and something like the Computer Language Shootout gets you farther -- it's a shame and mystifying (to me) that that site no longer has results for LuaJIT...). But anyway, in my (limited) experimentations with LuaJIT, it's often been within a factor of 2x-3x of speed of C, which to me is pretty fast, and typical of many statically-typed, compiled languages.
- dilap 14y agoI don't know if anyone will ever read this thread again :), but just in case, the the current front-page post on Julia provides another nice example of a fast, dynamically-typed, JITed language (within 1-2x of C, from their own set of benchmarks).