On Sunday, 12 August 2012 at 11:28:28 UTC, bearophile wrote:
Paulo Pinto:
As for the speed of native code produced by JITs for dynamic
languages,
I think Cog(Smalltalk), Self(Smaltalk ended up becoming JVM
Hotspot),
PyPy (Python), V8(JavaScript), LLVM(Julia) prove that you can
get pretty close to C for the majority of use cases that
matter to the common user.
Among V8 developers thee are some ex Self developers.
I think at the moment there aren't enough Julia benchmarks to
allow us to judge its performance well enough.
PyPy is surely not close to C speeds when it JITs Python code
(PyPy developers need to stop using just their few benchmarks
and try to optimize many other programs).
And you miss the best of the bunch, the Lua JIT.
Yeah, silly me forgeting about LuaJIT.
One problem with JITs is that they give you a good performance
if they are well implemented and if the the GC is good. While
older languages produce decent performance even with a simple
compiler.
Bye,
bearophile
True, this year's Google IO V8 talk has lots of informations on
how
you write JavaScript code can influence the code quality
generated by V8.
From the compiler design geek I used to be, I find very
interesting to
get myself informed about this area, and I think that dynamic
languages JITs still have a lot of room to improve.
Although personally I prefer static languages with native
compilers for my
own coding projects.
--
Paulo