Seem bizarre to push being only four times faster than straight lua when it is compiled to native instructions. Lua is 50x-100x slower than a native binary.
The difference turned out to be no big deal, less than x2 in speed. The real performance killer seems to be garbage collection and chasing pointers due to inefficient data structures. Luajit doesn't help much here.
In the end we went with stock lua because it doesn't have the 1 gigabyte memory limit, and so can use a much larger thread pool.