Skip to content

Latest commit

 

History

History
197 lines (195 loc) · 10.5 KB

File metadata and controls

197 lines (195 loc) · 10.5 KB

Note: Profiling done on a laptop with Intel Core Ultra 7 155h on Ubuntu 24.04 LTS with performance mode set to "Performance"

  • Timings may vary depending on hardware and thermal throttling (for laptops). I suggest profiling a few times in consistent environments to get more precise estimations.

Interpreter transpilation speed

(Running lua5.4 src/luax.lua -t src/luax.lua -b build -o build/luax)

Executing: mkdir -p build
Transpiling src/node.lua at 0.007413...
Tokenizing src/node.lua at 0.007458...
Done Tokenizing src/node.lua at 0.007915...
Generating AST for src/node.lua at 0.007918...
Done Generating AST for src/node.lua at 0.00837...
Generating C++ code for src/node.lua at 0.008374...
Done Generating C++ code for src/node.lua at 0.008904...
Generating hpp code for src/node.lua at 0.008908...
Done Generating hpp code for src/node.lua at 0.009259...
Formatting C++ Code for src/node.lua at 0.009262...
Done Formatting C++ Code for src/node.lua at 0.012741...
Formatting hpp Code for src/node.lua at 0.012745...
Done Formatting hpp Code for src/node.lua at 0.012816...
Writing transpiled output for src/node.lua at 0.012819...
Done writing and done transpiling src/node.lua at 0.01293...
Transpiling src/tokenizer.lua at 0.012975...
Tokenizing src/tokenizer.lua at 0.013007...
Done Tokenizing src/tokenizer.lua at 0.014828...
Generating AST for src/tokenizer.lua at 0.014832...
Done Generating AST for src/tokenizer.lua at 0.016798...
Generating C++ code for src/tokenizer.lua at 0.016802...
Done Generating C++ code for src/tokenizer.lua at 0.019467...
Generating hpp code for src/tokenizer.lua at 0.019471...
Done Generating hpp code for src/tokenizer.lua at 0.021213...
Formatting C++ Code for src/tokenizer.lua at 0.021217...
Done Formatting C++ Code for src/tokenizer.lua at 0.027083...
Formatting hpp Code for src/tokenizer.lua at 0.027086...
Done Formatting hpp Code for src/tokenizer.lua at 0.027126...
Writing transpiled output for src/tokenizer.lua at 0.027128...
Done writing and done transpiling src/tokenizer.lua at 0.027217...
Transpiling src/translator.lua at 0.027282...
Tokenizing src/translator.lua at 0.027322...
Done Tokenizing src/translator.lua at 0.031021...
Generating AST for src/translator.lua at 0.031028...
Done Generating AST for src/translator.lua at 0.035082...
Generating C++ code for src/translator.lua at 0.035088...
Done Generating C++ code for src/translator.lua at 0.039506...
Generating hpp code for src/translator.lua at 0.039512...
Done Generating hpp code for src/translator.lua at 0.042181...
Formatting C++ Code for src/translator.lua at 0.042185...
Done Formatting C++ Code for src/translator.lua at 0.06031...
Formatting hpp Code for src/translator.lua at 0.060315...
Done Formatting hpp Code for src/translator.lua at 0.060369...
Writing transpiled output for src/translator.lua at 0.060371...
Done writing and done transpiling src/translator.lua at 0.060461...
Transpiling src/cpp_translator.lua at 0.060523...
Tokenizing src/cpp_translator.lua at 0.060577...
Done Tokenizing src/cpp_translator.lua at 0.072765...
Generating AST for src/cpp_translator.lua at 0.072775...
Done Generating AST for src/cpp_translator.lua at 0.083181...
Generating C++ code for src/cpp_translator.lua at 0.083192...
Done Generating C++ code for src/cpp_translator.lua at 0.099354...
Generating hpp code for src/cpp_translator.lua at 0.099366...
Done Generating hpp code for src/cpp_translator.lua at 0.109928...
Formatting C++ Code for src/cpp_translator.lua at 0.109935...
Done Formatting C++ Code for src/cpp_translator.lua at 0.174062...
Formatting hpp Code for src/cpp_translator.lua at 0.174082...
Done Formatting hpp Code for src/cpp_translator.lua at 0.174144...
Writing transpiled output for src/cpp_translator.lua at 0.174145...
Done writing and done transpiling src/cpp_translator.lua at 0.174354...
Transpiling src/formatter.lua at 0.17445...
Tokenizing src/formatter.lua at 0.174486...
Done Tokenizing src/formatter.lua at 0.174907...
Generating AST for src/formatter.lua at 0.174909...
Done Generating AST for src/formatter.lua at 0.175303...
Generating C++ code for src/formatter.lua at 0.175307...
Done Generating C++ code for src/formatter.lua at 0.175704...
Generating hpp code for src/formatter.lua at 0.175709...
Done Generating hpp code for src/formatter.lua at 0.176591...
Formatting C++ Code for src/formatter.lua at 0.176596...
Done Formatting C++ Code for src/formatter.lua at 0.178476...
Formatting hpp Code for src/formatter.lua at 0.178481...
Done Formatting hpp Code for src/formatter.lua at 0.178527...
Writing transpiled output for src/formatter.lua at 0.178529...
Done writing and done transpiling src/formatter.lua at 0.178594...
Transpiling src/luax.lua at 0.178661...
Tokenizing src/luax.lua at 0.178705...
Done Tokenizing src/luax.lua at 0.180027...
Generating AST for src/luax.lua at 0.18003...
Done Generating AST for src/luax.lua at 0.181649...
Generating C++ code for src/luax.lua at 0.181654...
Done Generating C++ code for src/luax.lua at 0.183077...
Generating hpp code for src/luax.lua at 0.183081...
Done Generating hpp code for src/luax.lua at 0.184044...
Formatting C++ Code for src/luax.lua at 0.184048...
Done Formatting C++ Code for src/luax.lua at 0.192152...
Formatting hpp Code for src/luax.lua at 0.19216...
Done Formatting hpp Code for src/luax.lua at 0.192337...
Writing transpiled output for src/luax.lua at 0.19234...
Done writing and done transpiling src/luax.lua at 0.192434...
Transpilation complete. C++ files located in: build

Native transpilation speed

(Running ./build/luax -t src/luax.lua -b build_native -o build_native/luax)

Executing: mkdir -p build_native
Transpiling src/tokenizer.lua at 0.00526...
Tokenizing src/tokenizer.lua at 0.005344...
Done Tokenizing src/tokenizer.lua at 0.007399...
Generating AST for src/tokenizer.lua at 0.007404...
Done Generating AST for src/tokenizer.lua at 0.01125...
Generating C++ code for src/tokenizer.lua at 0.011323...
Done Generating C++ code for src/tokenizer.lua at 0.016476...
Generating hpp code for src/tokenizer.lua at 0.016482...
Done Generating hpp code for src/tokenizer.lua at 0.020242...
Formatting C++ Code for src/tokenizer.lua at 0.020249...
Done Formatting C++ Code for src/tokenizer.lua at 0.024137...
Formatting hpp Code for src/tokenizer.lua at 0.024139...
Done Formatting hpp Code for src/tokenizer.lua at 0.024169...
Writing transpiled output for src/tokenizer.lua at 0.024188...
Done writing and done transpiling src/tokenizer.lua at 0.024304...
Transpiling src/node.lua at 0.024607...
Tokenizing src/node.lua at 0.024644...
Done Tokenizing src/node.lua at 0.024787...
Generating AST for src/node.lua at 0.024789...
Done Generating AST for src/node.lua at 0.02511...
Generating C++ code for src/node.lua at 0.025119...
Done Generating C++ code for src/node.lua at 0.025858...
Generating hpp code for src/node.lua at 0.025863...
Done Generating hpp code for src/node.lua at 0.026416...
Formatting C++ Code for src/node.lua at 0.02642...
Done Formatting C++ Code for src/node.lua at 0.027874...
Formatting hpp Code for src/node.lua at 0.027877...
Done Formatting hpp Code for src/node.lua at 0.027903...
Writing transpiled output for src/node.lua at 0.027906...
Done writing and done transpiling src/node.lua at 0.027954...
Transpiling src/formatter.lua at 0.028032...
Tokenizing src/formatter.lua at 0.028064...
Done Tokenizing src/formatter.lua at 0.028277...
Generating AST for src/formatter.lua at 0.028279...
Done Generating AST for src/formatter.lua at 0.028689...
Generating C++ code for src/formatter.lua at 0.028699...
Done Generating C++ code for src/formatter.lua at 0.029457...
Generating hpp code for src/formatter.lua at 0.029461...
Done Generating hpp code for src/formatter.lua at 0.030038...
Formatting C++ Code for src/formatter.lua at 0.030043...
Done Formatting C++ Code for src/formatter.lua at 0.031176...
Formatting hpp Code for src/formatter.lua at 0.031178...
Done Formatting hpp Code for src/formatter.lua at 0.031208...
Writing transpiled output for src/formatter.lua at 0.031211...
Done writing and done transpiling src/formatter.lua at 0.031256...
Transpiling src/translator.lua at 0.031348...
Tokenizing src/translator.lua at 0.031399...
Done Tokenizing src/translator.lua at 0.037216...
Generating AST for src/translator.lua at 0.037228...
Done Generating AST for src/translator.lua at 0.043064...
Generating C++ code for src/translator.lua at 0.043213...
Done Generating C++ code for src/translator.lua at 0.05179...
Generating hpp code for src/translator.lua at 0.051805...
Done Generating hpp code for src/translator.lua at 0.058435...
Formatting C++ Code for src/translator.lua at 0.058493...
Done Formatting C++ Code for src/translator.lua at 0.071006...
Formatting hpp Code for src/translator.lua at 0.071012...
Done Formatting hpp Code for src/translator.lua at 0.071051...
Writing transpiled output for src/translator.lua at 0.071055...
Done writing and done transpiling src/translator.lua at 0.071241...
Transpiling src/cpp_translator.lua at 0.072886...
Tokenizing src/cpp_translator.lua at 0.072973...
Done Tokenizing src/cpp_translator.lua at 0.103556...
Generating AST for src/cpp_translator.lua at 0.10357...
Done Generating AST for src/cpp_translator.lua at 0.120956...
Generating C++ code for src/cpp_translator.lua at 0.121527...
Done Generating C++ code for src/cpp_translator.lua at 0.152619...
Generating hpp code for src/cpp_translator.lua at 0.152632...
Done Generating hpp code for src/cpp_translator.lua at 0.175719...
Formatting C++ Code for src/cpp_translator.lua at 0.175919...
Done Formatting C++ Code for src/cpp_translator.lua at 0.216907...
Formatting hpp Code for src/cpp_translator.lua at 0.216923...
Done Formatting hpp Code for src/cpp_translator.lua at 0.21696...
Writing transpiled output for src/cpp_translator.lua at 0.217083...
Done writing and done transpiling src/cpp_translator.lua at 0.217566...
Transpiling src/luax.lua at 0.221662...
Tokenizing src/luax.lua at 0.221722...
Done Tokenizing src/luax.lua at 0.222487...
Generating AST for src/luax.lua at 0.22249...
Done Generating AST for src/luax.lua at 0.223779...
Generating C++ code for src/luax.lua at 0.22382...
Done Generating C++ code for src/luax.lua at 0.2264...
Generating hpp code for src/luax.lua at 0.226405...
Done Generating hpp code for src/luax.lua at 0.228455...
Formatting C++ Code for src/luax.lua at 0.228462...
Done Formatting C++ Code for src/luax.lua at 0.233027...
Formatting hpp Code for src/luax.lua at 0.23303...
Done Formatting hpp Code for src/luax.lua at 0.233116...
Writing transpiled output for src/luax.lua at 0.233118...
Done writing and done transpiling src/luax.lua at 0.233205...
Transpilation complete. C++ files located in: build_native