Re: luajit 2.0b10 performance extremely brittle?

  • From: Mike Pall <mike-1206@xxxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx
  • Date: Mon, 4 Jun 2012 12:44:29 +0200

Avi Kelman wrote:
> How can the name of an unused variable hurt performance so much?

This changes the memory layout, which in turn may affect the
heuristics, based on probabilistic algorithms.

The real problem is that the code and data structures used are
suboptimal. Mostly because it's way too branchy and the recursion
is not deep enough to generate useful traces. Also, lots of
inefficiencies, e.g. no use of local functions. And that rowminus
stuff actually hurts performance. Basically, the JIT compiler
gives up at a certain point, which depends on the heuristics. The
timing you get depends on when and where that happens (see -jv).

--Mike

Other related posts: