lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


A few more results, this time on ARM CPUs (iOS devices)

The context: 
-Compiler: Xcode 7.2 / clang (corresponding to clang version 3.7, I guess), -O2 -Os (standard compile options used for ‘release’ build)
- Lua 5.2.4
- Benchmark lua-image-ramp-bench.lua (see https://gist.github.com/jlj/de7d8be6f1160ea2963c), that makes use of various Lua opcodes, including lots of tables creation, table get, table set, and GC.
- Low-overhead profiling using Xcode Instruments
- No debug hook

On iPod touch 2013 (arm v7 32bits architecture), the overall measured improvement is small but stable:
-  running time of luaV_execute  without computed goto:  total = 182.2 s, internal = 31,62s 
-  running time of luaV_execute  with computed goto:  total = 178.9 s (-2%), internal = 26.34s (-17%)
 
On devices with a 64 bits arm CPU, no obvious benefit was seen during the tests, and the measured time varies quite significantly between successive runs. 
If  lvm.c is compiled in -O3 mode, results get slightly better.

iPad Air (2013):
-  running time of luaV_execute  without computed goto:  total = 57.3 s (varying from 52 to 60s)
-  running time of luaV_execute  with computed goto:  total = 54.0 s (varying from 52 to 57s)

iPhone 6 (2014):
-  running time of luaV_execute  without computed goto:  total = 38.3 s (varying from 37.4 to 39.7s)
-  running time of luaV_execute  with computed goto:  total = 38.2 s (varying from 36.9 to 40.9s)
-  running time of luaV_execute  with computed goto and lvm.c compiled with -O3:  total = 37.4 s (varying from 36.1 to 39.1s)

Jean-Luc