

Ask HN: Why is there no V8 engine-type project for Python or Ruby? - cmsimike

JavaScript was slow until Google worked its magic with the V8 engine. I'm wondering why I haven't seen any project out there trying to do the same for Python or Ruby.<p>There are different implementations of the Python and Ruby interpreters that do speed them up a bit from their reference implementations (give or take). But, to my knowledge, there is nothing that really compares to the speed boost V8 gave JavaScript.<p>Is there a technical limitation/reason? Or has it just not been explored yet?
======
dragonwriter
> JavaScript was slow until Google worked its magic with the V8 engine. I'm
> wondering why I haven't seen any project out there trying to do the same for
> Python or Ruby.

Uh, because neither Python nor Ruby is uniquely entrenched in a niche as
important to a big, Google-like company as JavaScript was (and remains) as a
client side browser language, creating the incentive for said big company to
throw lots of resources behind making it more performant.

So, Python and Ruby are stuck with their existing core teams (and some side
efforts) working on performance improvements. Those still can pay big
dividends (in many areas, Ruby 2.0 is apparently a big jump from 1.9.3), but
are unlikely to be as dramatic as V8 over pre-existing JavaScript engines.

------
mindcrime
There was at least one effort, sponsored by Google, to make big performance
improvements in Python:

<http://en.wikipedia.org/wiki/Unladen_Swallow>

I'm not sure sure if any of that work ever made it into current CPython or not
though. At any rate, they never met the ambitious goals they started out with.

On the Ruby side, I believe that the JRuby guys have done a lot of performance
work and have created one of the more performant Ruby implementations. But
still nothing like V8, which is unfortunate.

~~~
stevejalim
There's also <http://pypy.org/>

------
bradleyjg
I'd say it's because we are stuck with javascript for a certain domain -- viz.
code running in a web browser.

Python and ruby on the other hand are two choices out of many, each of which
have thier strengths and weaknesses. While it would be nice if every language
was as fast as possible, as a practical matter where speed is a major issue,
programmers simply pick a more perfomant language. in a world of limited
resources and diverse choices it makes the most sense for each language to
concentrate on its strengths rather than to be the best at everything.

------
memracom
This is an odd question. For Python there are several implementations that
provide better speed. Some of them are tools used with C Python, and others
are total reimplementations like Jython, IronPython and Pypy.

Ruby is a newer language and therefore has not had as many implementations but
there are definitely faster implementations that the standard one built by
Matz. One of those runs on the JVM.

You need to do a little googling and you will easily find out more about
these. Or just look in Wikipedia for godness sake.
<http://en.wikipedia.org/wiki/Ruby_(programming_language)>

------
coldtea
> _Is there a technical limitation/reason? Or has it just not been explored
> yet?_

Neither.

They are just Open Source projects with diverse contributors, internal
politics and varying skillsets.

That makes it hard to beat a dedicated full time team of world class experts
working on just one thing, focused for 3+ years (which is how we got V8).

------
ldargin
Optimizing software for speed usually involves changes to the source code that
make it more complex, or harder to follow. Making the Python or Ruby
interpreters more complex for speed would make them harder to change and
maintain, which would not be so good for such open-source projects.

------
MrBra
Give me a couple of million $. I don't know how yet, but I tell you I'll find
a way to make both faster ;)

