<story><title>Announcing Pyston: an upcoming, JIT-based Python implementation</title><url>https://tech.dropbox.com/2014/04/introducing-pyston-an-upcoming-jit-based-python-implementation/</url></story><parent_chain></parent_chain><comment><author>haberman</author><text>&amp;gt; For instance, the JavaScript world has switched from tracing JITs to method-at-a-time JITs, due to the compelling performance benefits.&lt;p&gt;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&amp;#x27;ve been seen as the sort of hot new thing, so much that there is a classic LtU thread from 2010 titled &amp;quot;Have tracing JIT compilers won?&amp;quot; (&lt;a href=&quot;http://lambda-the-ultimate.org/node/3851&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;lambda-the-ultimate.org&amp;#x2F;node&amp;#x2F;3851&lt;/a&gt;)&lt;p&gt;While it&amp;#x27;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&amp;#x27;s not easy to find benchmarks, but last I saw LuaJIT was pretty dominant speed-wise among dynamic language JIT implementations.&lt;p&gt;Mike Pall (LuaJIT author) argues that TraceMonkey&amp;#x27;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 (&lt;a href=&quot;http://lambda-the-ultimate.org/node/3851#comment-57643&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;lambda-the-ultimate.org&amp;#x2F;node&amp;#x2F;3851#comment-57643&lt;/a&gt;).</text></comment>
<story><title>Announcing Pyston: an upcoming, JIT-based Python implementation</title><url>https://tech.dropbox.com/2014/04/introducing-pyston-an-upcoming-jit-based-python-implementation/</url></story><parent_chain></parent_chain><comment><author>_halgari</author><text>I&amp;#x27;d love to hear more about their issues with PyPy, it sounds like they wrote of PyPy simply because they don&amp;#x27;t understand why it works so well. Not to mention that this is mostly a re-hash of stuff found in unladen-swallow.&lt;p&gt;I mean, if your end goal is to write another Python, sure go for it. But it really sounds like these people haven&amp;#x27;t done their research. I see nothing to write home about.&lt;p&gt;--- EDIT ---&lt;p&gt;Not to mention that JS is a completely different language form Python. Everytime you add two objects in Python you have the possibility of hitting a system defined add, or __add__ or __getattr__ or __getattribute__, or __radd__, or __getattr__ (looking for __radd__), etc. That&amp;#x27;ll be fun....</text></comment>