Performance β C League, No Surprises
19 July 2026 Β· MELP v1.0 Β· Intel Core i7-10750H Β· Linux x86-64
clang -O2) β which leaves the language itself as the only
variable.
Protocol β so it can be audited
| Machine | Intel Core i7-10750H @ 2.60 GHz Β· 12 threads Β· Linux x86-64 |
| Compilers | MELP v1.0 Β· clang 22.1.8 (-O2) Β· gcc 14.2 (-O2) Β· rustc 1.93.0 (-O) Β· go 1.25.7 |
| Method | Each test was run 5 times and the best value reported (eliminating cold-start noise). All languages on the same machine, in the same session. |
| Fairness | Every language's source is open in the repository
(benchmark/*.{mlp,c,rs,go}). The C reference is
idiomatic β string100k.c, for instance, keeps the length
in a variable; it is not a straw man calling
strlen on every iteration. |
Run time (ms) β lower is better
How to read it: MELP and C are practically identical (234 β 232) β with the same LLVM backend, the language layer introduces no measurable loss. That is what this chart actually says. MELP also came out ahead of Rust and Go on this test; that is a one-line result, not a headline.
Footnote: the same C source compiled with
gcc -O2 runs in 171 ms. That shows gcc's code generation for
this recursion pattern is better than LLVM's β a difference between
backends, not between languages. It is precisely why clang is used in the
comparison table.
How to read it: MELP is in the same complexity class as C and Rust β O(n). C and Rust lead on the constant factor (~9Γ). This is a known and accepted difference; this same test previously behaved as O(nΒ²) and took 1758 ms.
What does not go in the speed table
An empty 100-million-iteration loop with no side effects is folded away by LLVM at compile time (induction variable elimination) β that is, the loop never runs. The "2 ms" such a test produces measures not CPU speed but how aggressive dead-code elimination is. That MELP's IR is clean enough for LLVM to fold is a good sign; but it is not a speed result and it is excluded from the comparison table. Because the same loop is not folded by GCC, the enormous apparent gap once led to a false conclusion along the lines of "MELP is 65Γ faster than C".
Run Your Own
The benchmark sources are open in the repository β you can run the same tests on your own machine.