GitHub

Performance benchmarks for daslang (formerly daScript).

This repository contains cross-language benchmark suites comparing daslang against Lua, LuaJIT, Luau, JavaScript (QuickJS), Quirrel, and C#.

Benchmark Snapshot

Per-platform captures. Lower is better. The fastest result in each row is in bold. - means no value for that runtime on that benchmark.

macOS — Apple M1 Max

Platform information:

  • Captured from profile_results_darwin.json on Wed May 13 02:48:38 2026
  • Toolchain: AppleClang 21.0.0.21000101, daslang 0.6.2, LLVM 22.1.5
  • Runtimes: Lua 5.5.0, LuaJIT 2.1.1774896198, Luau 0.720, Mono 6.14.1 (tarball Tue Apr 29 17:43:02 UTC 2025), .NET 10.0.300, QuickJS 2025-09-13, Quirrel 4.20.0

Interpreted

Test DAS interpreter Luau Lua LuaJIT -joff Quirrel QuickJS Mono --interpreter
sha256 0.092860s 0.375728s 2.224072s 0.253371s 0.736345s 0.928000s 0.360820s
dictionary 0.016658s 0.035719s 0.053598s 0.023007s 0.074822s 0.053000s 0.354948s
n-bodies 0.155752s 0.526935s 0.683196s 0.520397s 1.093160s 1.379000s 0.432292s
spectral norm 0.183585s 0.172225s 0.312885s 0.346714s 0.659841s 0.763000s 0.160881s
native loop 0.025643s - - - - - 1.019868s
mandelbrot 0.002057s 0.035791s 0.077136s 0.045929s 0.006746s 0.008000s 0.009510s
exp loop 0.009897s 0.009619s 0.023254s 0.015689s 0.041328s 0.037000s 0.025938s
string2float 0.017470s 0.022679s 0.066204s 0.164071s 0.049809s 0.125000s 1.368532s
particles kinematics 0.008823s 0.278972s 0.436534s 0.261112s 0.254812s 0.457000s 0.244268s
queen 0.000935s 0.002560s 0.001446s 0.002233s 0.002381s 0.003000s 0.004897s
primes loop 0.022345s 0.067061s 0.076428s 0.197245s 0.150416s 0.140000s 0.058153s
sort 0.023536s 0.041823s 0.058396s 0.055967s 0.127205s 0.043000s 0.059335s
tree 1.659017s 1.746316s 2.020678s 1.859450s 5.427960s 9.976000s 1.089033s
fibonacci loop 0.033419s 0.089567s 0.047790s 0.079696s 0.063521s 0.147000s 0.032510s
float2string 0.053663s 0.055475s 0.417758s 0.154445s 0.167451s 0.272000s 1.885519s
fibonacci recursive 0.045765s 0.078675s 0.068694s 0.055189s 0.158539s 0.108000s 0.046331s

AOT or JIT

Test DAS AOT DAS JIT C++ Luau --codegen LuaJIT Mono .NET
sha256 0.006149s 0.004512s 0.005108s 0.332236s 0.015384s 0.032626s 0.016494s
dictionary 0.012154s 0.011637s 0.031887s 0.024466s 0.007986s 0.092023s 0.035208s
n-bodies 0.022459s 0.013847s 0.024785s 0.242705s 0.052140s 0.083842s 0.027049s
spectral norm 0.008844s 0.003160s 0.009106s 0.042218s 0.012240s 0.034274s 0.009651s
native loop 0.012605s 0.006392s - - - 0.080545s 0.012768s
mandelbrot 0.000564s 0.000459s 0.000581s 0.023783s 0.005574s 0.001899s 0.000560s
exp loop 0.004054s 0.001583s 0.001711s 0.005177s 0.002407s 0.006947s 0.002592s
string2float 0.014813s 0.014481s 0.015896s 0.019589s 0.147690s 0.118201s 0.038627s
particles kinematics 0.003401s 0.003400s 0.003360s 0.146696s 0.044470s 0.047529s 0.005650s
queen 0.000096s 0.000055s 0.000041s 0.000746s 0.000199s 0.000618s 0.000731s
primes loop 0.006289s 0.006960s 0.007023s 0.039414s 0.016546s 0.025704s 0.008502s
sort 0.004471s 0.005609s 0.004428s 0.036842s 0.050098s 0.010094s 0.009006s
tree 0.143418s 0.157008s 0.142762s 1.111824s 0.740921s 0.205640s 0.225222s
fibonacci loop 0.002055s 0.002062s 0.002056s 0.023567s 0.010315s 0.002060s 0.004418s
float2string 0.076211s 0.046425s 0.152026s 0.052848s 0.144027s 0.412196s 0.068169s
fibonacci recursive 0.004025s 0.003625s 0.003988s 0.036798s 0.006668s 0.005879s 0.004517s

Windows — AMD Ryzen Threadripper 3990X

Platform information:

  • Captured from profile_results_windows.json on Thu May 21 23:32:14 2026
  • Toolchain: MSVC 19.44.35213.0, daslang 0.6.2, LLVM 22.1.5
  • Runtimes: Lua 5.5.0, LuaJIT 2.1.1774896198, Luau 0.720, Mono 6.12.0 (Visual Studio built mono), .NET 10.0.300, QuickJS 2025-09-13-2, Quirrel 4.20.0

Interpreted

Test DAS interpreter Luau Lua LuaJIT -joff Quirrel QuickJS Mono --interpreter
sha256 0.129828s 0.689463s 5.358000s 0.274000s 1.212000s 1.760000s 0.922089s
dictionary 0.041710s 0.048607s 0.070000s 0.020000s 0.096000s 0.117000s 1.389088s
n-bodies 0.271717s 0.718266s 1.342000s 0.566000s 2.167000s 2.486000s 1.170949s
mandelbrot 0.004128s 0.056636s 0.158000s 0.059000s 0.009000s 0.012000s 0.026202s
spectral norm 0.255477s 0.238623s 0.544000s 0.291000s 1.135000s 1.212000s 0.455888s
native loop 0.059911s - - - - - 1.868740s
exp loop 0.016043s 0.019307s 0.055000s 0.019000s 0.081000s 0.102000s 0.385876s
string2float 0.035609s 0.129264s 0.216000s 0.128000s 0.141000s 0.229000s 5.400243s
particles kinematics 0.015203s 0.399296s 1.594000s 0.308000s 1.034000s 1.540000s 0.669419s
queen 0.001531s 0.001605s 0.002000s 0.001000s 0.003000s 0.005000s 0.012880s
fibonacci loop 0.035063s 0.060486s 0.075000s 0.045000s 0.079000s 0.263000s 0.140542s
primes loop 0.049816s 0.094500s 0.088000s 0.069000s 0.236000s 0.217000s 0.158501s
sort 0.020373s 0.057909s 0.105000s 0.073000s 0.252000s 0.072000s 0.291007s
tree 2.065271s 1.788859s 3.028000s 1.531000s 8.654000s 16.062000s 1.939324s
float2string 0.110288s 0.077653s 0.777000s 0.197000s 0.310000s 0.540000s 5.606546s
fibonacci recursive 0.037387s 0.086670s 0.095000s 0.061000s 0.213000s 0.211000s 0.113692s

AOT or JIT

Test DAS AOT DAS JIT C++ Luau --codegen LuaJIT Mono .NET
sha256 0.020471s 0.004600s 0.004362s 0.549106s 0.024000s 0.046988s 0.017283s
dictionary 0.010678s 0.011970s 0.053369s 0.042399s 0.014000s 0.106316s 0.067962s
n-bodies 0.067607s 0.024233s 0.039247s 0.222957s 0.082000s 0.079346s 0.040454s
mandelbrot 0.000524s 0.000470s 0.000604s 0.040889s 0.008000s 0.004681s 0.000605s
spectral norm 0.012685s 0.012400s 0.012491s 0.055988s 0.014000s 0.027319s 0.013291s
native loop 0.014640s 0.010699s - - - 0.135522s 0.077220s
exp loop 0.008505s 0.003108s 0.003357s 0.007762s 0.006000s 0.011171s 0.006345s
string2float 0.030153s 0.030798s 0.097750s 0.117100s 0.110000s 0.167461s 0.055313s
particles kinematics 0.003524s 0.004590s 0.006899s 0.203969s 0.188000s 0.093309s 0.007802s
queen 0.000140s 0.000114s 0.000120s 0.000762s 0.000000s 0.000777s 0.000959s
fibonacci loop 0.002748s 0.001620s 0.001626s 0.030958s 0.004000s 0.002272s 0.001957s
primes loop 0.013699s 0.013642s 0.039177s 0.033763s 0.014000s 0.039134s 0.039404s
sort - 0.005125s 0.005815s 0.054823s 0.078000s 0.011173s 0.013657s
tree 0.170636s 0.165016s 0.184376s 1.495365s 1.079000s 0.259549s 0.220237s
float2string 0.094225s 0.095917s 0.295398s 0.070217s 0.174000s 0.405035s 0.093357s
fibonacci recursive 0.007429s 0.004289s 0.005474s 0.061901s 0.012000s 0.009210s 0.007482s

Related

  • daslang — the daslang compiler and runtime

Read the original on github.com ↗