# Talos vs Prometheus — matched workload comparison Measured 2026-10-17. This report and its data download cover 6 workloads completed by both engines at all three presets. The website adds the per-workload medians to show totals for these same 6 scripts. The baseline is the official packaged upstream Prometheus CLI v0.2.11.1 using its bundled Lua runtime and the LuaU target. Presets are operational pairings and do not guarantee equivalent protection. ## Totals shown on the website Each paired cell is **Talos / Prometheus**. Lower values are better. File sizes use KiB (1,024 bytes). These totals differ from geometric-mean speedup summaries; the large-string test strongly affects the totals. | Talos / old setting | Generation ms | Execution ms | Output KiB | | --- | ---: | ---: | ---: | | Light / Minify | 43.657333 / 165.346126 | 0.198583 / 0.122208 | 119.562500 / 117.580078 | | Balanced / Medium | 46.918042 / 696.878583 | 4.924708 / 50.490417 | 50.336914 / 335.008789 | | Strong / Strong | 57.506377 / 941.636292 | 32.322333 / 81.311458 | 97.159180 / 507.012695 | ## Individual workloads Runtime is the median of 9 per-variant medians. Generation and size are medians across 9 variants. Sub-microsecond runtimes are too short for useful speed claims. Every paired cell is **Talos / Prometheus**. ### Light vs Minify | Workload | Generation ms | Execution ms | Output KiB | | --- | ---: | ---: | ---: | | arithmetic | 9.551209 / 25.840750 | 0.155542 / 0.080792 | 0.401367 / 0.075195 | | closures | 5.851833 / 23.156542 | 0.018625 / 0.017667 | 0.466797 / 0.136719 | | bulk | 6.838500 / 33.575459 | 0.000417 / 0.000167 | 1.820312 / 1.490234 | | constant_reuse | 6.786958 / 26.618583 | 0.023250 / 0.023375 | 0.445312 / 0.113281 | | cold_strings | 6.874708 / 31.293167 | 0.000458 / 0.000167 | 47.701172 / 47.368164 | | unused_strings | 7.754125 / 24.861625 | 0.000292 / 0.000042 | 68.727539 / 68.396484 | ### Balanced vs Medium | Workload | Generation ms | Execution ms | Output KiB | | --- | ---: | ---: | ---: | | arithmetic | 6.827333 / 100.596500 | 2.153583 / 3.096042 | 4.907227 / 26.599609 | | closures | 7.184500 / 97.168541 | 0.742792 / 1.458750 | 5.768555 / 26.201172 | | bulk | 8.139875 / 114.152834 | 0.234250 / 0.788625 | 13.887695 / 46.053711 | | constant_reuse | 7.096709 / 123.070250 | 0.812208 / 5.279458 | 5.063477 / 25.544922 | | cold_strings | 8.708125 / 134.210500 | 0.972792 / 33.850625 | 14.636719 / 94.039062 | | unused_strings | 8.961500 / 127.679958 | 0.009083 / 6.016917 | 6.073242 / 116.570312 | ### Strong vs Strong | Workload | Generation ms | Execution ms | Output KiB | | --- | ---: | ---: | ---: | | arithmetic | 7.898000 / 117.995125 | 19.054667 / 21.868542 | 13.130859 / 39.135742 | | closures | 8.818625 / 125.682958 | 6.156458 / 6.594958 | 16.528320 / 41.982422 | | bulk | 11.532000 / 226.201333 | 0.462917 / 1.117458 | 21.738281 / 123.701172 | | constant_reuse | 8.898459 / 142.668083 | 5.517625 / 9.894250 | 13.342773 / 39.223633 | | cold_strings | 10.756334 / 188.929834 | 1.073292 / 35.953833 | 20.911133 / 135.976562 | | unused_strings | 9.602959 / 140.158959 | 0.057375 / 5.882417 | 11.507812 / 126.993164 | ## Method - 6 workloads: arithmetic, closures, bulk, constant_reuse, cold_strings, unused_strings. - 9 independent generated variants per engine/preset/workload; each variant runs 9 times in a fresh Luau process. All 2,916 executions in this matched comparison returned the same result as native source. - One initial invocation followed by measured fresh-process CLI invocations for both engines. Generation is launch-to-exit wall time including startup, file reading/writing, random seeding and logs. - Execution includes VM initialization, decryption and decompression. Luau parsing, compilation and process startup are excluded. Luau 0.741, optimization level 1, no native codegen. - Light is paired with Minify, Balanced with Medium, Strong with Strong. - Results describe this machine and corpus. Memory and reverse-engineering resistance were not measured; performance does not establish stronger protection. - Machine: `macOS-27.2-arm64-arm-64bit-Mach-O`. - Reference toolchain: `LuaJIT 2.1.1774896198 -- Copyright (C) 2005-2026 Mike Pall. https://luajit.org/`. - Raw samples include per-variant timings, output sizes, variant hashes, and engine/runtime hashes. P10–P90 values describe variant spread, not confidence intervals. The [matched dataset](results.json) uses exactly the same 6 workloads as this report. Re-export the website snapshot from the preserved measurement archive with `python3 benchmarks/export_website.py`.