Skip to content

Comment on Announcing Pyston: an upcoming, JIT-based Python implementation

Comments

For instance, the JavaScript world has switched from tracing JITs to method-at-a-time JITs, due to the compelling performance benefits.

This is a weird way of putting it. Method-at-a-time JITs have been around much longer and represent a more traditional approach to JIT compilers. Tracing JITs have only become popular in the last 5-10 years. And during that time they've been seen as the sort of hot new thing, so much that there is a classic LtU thread from 2010 titled "Have tracing JIT compilers won?" (http://lambda-the-ultimate.org/node/3851)

While it's true that V8 has always been method-at-a-time and Mozilla has abandoned their tracing JIT TraceMonkey, LuaJIT is one of the fastest dynamic language implementations out there and is a tracing JIT. Unfortunately the benchmark game dropped LuaJIT so it's not easy to find benchmarks, but last I saw LuaJIT was pretty dominant speed-wise among dynamic language JIT implementations.

Mike Pall (LuaJIT author) argues that TraceMonkey's lack of compelling performance was more a result of trying to bolt tracing onto an existing VM as opposed to any shortcoming of tracing as an approach (http://lambda-the-ultimate.org/node/3851#comment-57643).

Dalvik (the Android VM), when they added a JIT, claimed to be "starting" with a tracing JIT which they would "supplement" with a method later, which they seemed to feel could provide more performance. Their argument is that the method JIT operates over a larger code window; but Dalvik only seemed to operate on extremely short traces, so it has always been unclear to me whether this was just a weird limitation of their specific design :/.

Unfortunately the benchmark game dropped LuaJIT

If only someone else was interested enough to make some comparison measurements.

Meanwhile -- http://luajit.org/performance_x86.html

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.