Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Neat. However, I had a hard time quieting my Algebra teacher's memory from tut-tutting the example's lack of the other quadratic root.


And the formula given has at least two bugs, I think. They give it as

     -b + (Math.sqrt(b**2 - 4*a*c)) / 2*a
Shouldn't it be

    (-b + (Math.sqrt(b**2 - 4*a*c))) / (2*a)
(still ignoring the other root, of course).


Even wierder, the tree in their presentation seems to represent:

     -b + (Math.sqrt(b**2 - 4*a*c)) / (2*a)
Which is neither the formula we'd expect nor the formula they show.


Apologies for my maths - I think I simplified the serialised expression to reduce space on the slide or something like that, and broke it in the process.


I understand you're an insider, so can you please explain what is the actual breakthrough compared to the previous attempts to make a faster Ruby?

And how your approch fares compared to the state of art JIT implementations? Can your solution produce a faster Lua than LuaJIT, for example? Why starting with Ruby for which you implement 40%? And what have you used from JRuby?


There are several techniques working together here. The Truffle system allows the running program to gradually become statically typed over time (slide 9), where as JRuby has to go through a generic IRubyObject type for almost everything. Also, where JRuby has to continually check that methods have not been redefined, we never check and instead we go in and stop the running machine code when a method is redefined (slide 34).

The advantage of running on the Substrate VM is that, unlike JRuby, our startup time is about the same as MRI (slide 19).

There are several languages using this system, both by us (JS, Ruby) by academic partners (Python, R) and others (Smalltalk is one I know of). This talk just used Ruby as an example.

We used the parser from JRuby.


How is this related to the JVM? I understand there's the compilation/type-information-flow part, and the exposing the JVM's internals part. How does it all fit together?




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

Search: