Hacker News new | past | comments | ask | show | jobs | submit login

"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




Thanks 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.


I'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.)


Can'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?


I 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).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: