I’ve been playing with Lua a little bit recently and was interested in getting an idea of the performance difference between Lua 5.3 and LuaJIT. (The LuaJIT website has very good page covering benchmarks. I just wanted to play around myself). Like the LuaJIT page I picked a few example programs from The Computer Language Benchmarks Game. Programs were run on a AMD-6300FX running Windows 8.

nbody.lua-4.lua 50000000

<th>
  Elapsed time (s)
</th>

<th>
  Kernel time (s)
</th>

<th>
  User time (s)
</th>

<th>
  Working set (KB)
</th>
  <td>
    469.36
  </td>

  <td>
    0.05
  </td>

  <td>
    467.05
  </td>

  <td>
    2,356
  </td>
</tr>

<tr>
  <th>
    luajit203
  </th>

  <td>
    26.28
  </td>

  <td>
    0.00
  </td>

  <td>
    26.20
  </td>

  <td>
    2,504
  </td>
</tr>

<tr>
  <th>
    luajit21
  </th>

  <td>
    26.31
  </td>

  <td>
    0.00
  </td>

  <td>
    26.25
  </td>

  <td>
    2,512
  </td>
</tr>
Version
lua53

fannkuchredux.lua 12

<th>
  Elapsed time (s)
</th>

<th>
  Kernel time (s)
</th>

<th>
  User time (s)
</th>

<th>
  Working set (KB)
</th>
  <td>
    1717.53
  </td>

  <td>
    0.14
  </td>

  <td>
    1710.78
  </td>

  <td>
    2,284
  </td>
</tr>

<tr>
  <th>
    luajit203
  </th>

  <td>
    105.33
  </td>

  <td>
    0.00
  </td>

  <td>
    105.16
  </td>

  <td>
    2,528
  </td>
</tr>

<tr>
  <th>
    luajit21
  </th>

  <td>
    106.06
  </td>

  <td>
    0.00
  </td>

  <td>
    105.91
  </td>

  <td>
    2,536
  </td>
</tr>
Version
lua53

spectralnorm.lua 5500

<th>
  Elapsed time (s)
</th>

<th>
  Kernel time (s)
</th>

<th>
  User time (s)
</th>

<th>
  Working set (KB)
</th>
  <td>
    199.65
  </td>

  <td>
    0.03
  </td>

  <td>
    199.38
  </td>

  <td>
    2,864
  </td>
</tr>

<tr>
  <th>
    luajit203
  </th>

  <td>
    4.89
  </td>

  <td>
    0.00
  </td>

  <td>
    4.88
  </td>

  <td>
    2,724
  </td>
</tr>

<tr>
  <th>
    luajit21
  </th>

  <td>
    4.89
  </td>

  <td>
    0.00
  </td>

  <td>
    4.88
  </td>

  <td>
    2,728
  </td>
</tr>
Version
lua53

binarytrees.lua-2.lua 2

<th>
  Elapsed time (s)
</th>

<th>
  Kernel time (s)
</th>

<th>
  User time (s)
</th>

<th>
  Working set (KB)
</th>
  <td>
    439.98
  </td>

  <td>
    13.95
  </td>

  <td>
    423.66
  </td>

  <td>
    1,072,400
  </td>
</tr>

<tr>
  <th>
    luajit203
  </th>

  <td>
    78.34
  </td>

  <td>
    2.22
  </td>

  <td>
    75.86
  </td>

  <td>
    928,076
  </td>
</tr>

<tr>
  <th>
    luajit21
  </th>

  <td>
    77.92
  </td>

  <td>
    1.75
  </td>

  <td>
    75.91
  </td>

  <td>
    811,984
  </td>
</tr>
Version
lua53

Summary Relative increase in speed over Lua 5.3.

Benchmark lua53 luajit203 luajit2
nbody.lua-4.lua 50000000 1.00 17.83 17.79
fannkuchredux.lua 12 1.00 16.27 16.15
spectralnorm.lua 5500 1.00 40.86 40.86
binarytrees.lua-2.lua 20 1.00 5.58 5.58