Ask AI a question in the context of current results

Questions and answers
Answer will be provided later
#21 05 Oct 2026 ยท 12:55
update 2026-10-05

๐Ÿค– AI Tool: The October 5, 2026 update is significant โ€” new host OS, major version bumps across the JVM ecosystem, and some dramatic performance shifts. Let's break it down.

1. Major Changes

  • OS/Host: switched from Ubuntu to Arch Linux โ€” fresh toolchain, newer kernels, cleaner baseline
  • Zig: 0.16.0 โ†’ 0.17.0 โ€” major version bump
  • Java/OpenJDK: 26.0.2 โ†’ 27 (Temurin 27) โ€” major version bump
  • C#/F#: 10.0.110 โ†’ 11.0.100-rc.1 โ€” major version bump
  • Java/GraalVM: 25.3.4.1 โ†’ 25.4.4.1.1
  • Rust: 1.98.0 โ†’ 1.99.0
  • Kotlin: 2.4.10 โ†’ 2.4.20
  • Scala: 3.8.4 โ†’ 3.9.0 LTS
  • Swift: 6.3.3 โ†’ 6.4
  • Julia: 1.13.0-beta3 โ†’ 1.13.1
  • TruffleRuby: 34.0.1 โ†’ 40.0.0
  • Ruby/Spinel: updated to latest HEAD

2. Performance Changes

  • Zig: 90.06s โ†’ 69.59s (-22.7%) in ReleaseSafe โ€” the biggest winner this cycle. In ReleaseFast (hacking section) it also improves: 56.86s โ†’ 53.10s (-6.6%)
  • Julia: 109.3s โ†’ 93.02s (-14.9%) โ€” Julia 1.13.1 delivers a major improvement
  • Swift: 317.7s โ†’ 296.8s (-6.6%) โ€” Swift 6.4 improves
  • Scala/JVM: 96.88s โ†’ 90.72s (-6.4%) โ€” benefits from the OpenJDK 27 update
  • Kotlin/JVM: 87.47s โ†’ 82.58s (-5.6%) โ€” same OpenJDK 27 boost
  • Java/OpenJDK: 86.61s โ†’ 83.10s (-4.1%) โ€” Java 27 delivers a solid gain
  • C#/JIT: 87.01s โ†’ 83.95s (-3.5%) โ€” .NET 11 RC1 improves runtime and compile times
  • TruffleRuby: 473.7s โ†’ 333.5s (-29.6%) โ€” huge speedup after 34.0.1 โ†’ 40.0.0
  • Ruby/Spinel: 743.8s โ†’ 465.1s (-37.5%) โ€” huge speedup after updating to latest HEAD
  • Mojo: 128.9s โ†’ 164.9s (+27.9%) โ€” a regression this cycle, but it still wins 4 benchmarks, which is not trivial

3. Compilation

  • C#/.NET 11 RC1 significantly improves compile times โ€” cold WallTime build drops from 3.82s โ†’ 2.27s, memory down to 140 Mb

Summary: Zig is the big winner (-22.7% in ReleaseSafe, -6.6% in ReleaseFast). Julia improves -14.9%. Swift improves -6.6%. Scala -6.4%, Kotlin -5.6%, Java -4.1% โ€” all benefit from OpenJDK 27. C# improves -3.5%. TruffleRuby jumps -29.6%. Ruby/Spinel drops -37.5%. Mojo regresses +27.9% but still wins 4 benchmarks. Host switched to Arch Linux. ๐Ÿ™

#20 19 Sep 2026 ยท 02:17
update 2026-09-18

๐Ÿค– AI Tool: The September 18, 2026 update brings a new language, several algorithmic fixes, and some notable performance shifts. Let's break it down.

1. New Language โ€” Gossamer

  • Gossamer โ€” a new language written in Rust with a Cranelift backend. It enters the ranking at 72.9s with a Runtime Score of 84.6 โ€” immediately landing between C++ and D. A very strong debut.
  • JavaScript is now tracked as a separate language group (Node, Bun, Deno) alongside TypeScript.

2. Performance Changes

  • Rust: 59.45s โ†’ 57.40s (-3.4%) โ€” best result ever, nearly matching C
  • Kotlin/JVM: 92.15s โ†’ 87.47s (-5.1%) โ€” significant improvement
  • Zig: 93.12s โ†’ 90.06s (-3.3%)
  • Odin: 92.86s โ†’ 90.48s (-2.6%)
  • TypeScript/Bun: 139.5s โ†’ 130.5s (-6.5%) โ€” biggest JS-side gain
  • Python/PYPY: 317.1s โ†’ 308.6s (-2.7%)
  • Java/GraalVM: 81.08s โ†’ 80.23s (-1.0%) โ€” continues to improve
  • C++/Clang++: 58.98s โ†’ 60.55s (+2.7%) โ€” slight regression
  • C++/G++: 58.77s โ†’ 61.01s (+3.8%) โ€” same

3. Algorithmic Fixes

Several benchmark implementations were corrected this cycle, so results should be compared with that in mind. No version changed.

Summary: Gossamer debuts strong. Rust reaches its best result ever. Kotlin and Zig improve notably. Bun drops 6.5%. C++ regresses slightly. Algorithmic fixes were applied across the suite โ€” treat cross-version comparisons with caution. ๐Ÿ™

#19 14 Sep 2026 ยท 10:35
zig

๐Ÿค– AI Tool: Here's a quick summary of Zig in the LangArena benchmark suite.

Zig โ€” a systems programming language focused on safety, performance, and simplicity.

Main Results (ReleaseSafe)

MetricValue
Runtime93.12s
Runtime Score73.8 / 100
Average Memory46.42 Mb
Wins2 benchmarks
Compile Time (Wall inc)20.11s
Binary Size5.41 Mb
Expressiveness-160.7% (last place)

The main ranking uses ReleaseSafe โ€” Zig's default production mode with safety checks enabled (bounds checking, overflow detection, etc.).

Hacking Section (ReleaseFast / Unchecked)

In the "Hacking" section, Zig is also tested with ReleaseFast mode โ€” safety checks disabled, prioritizing speed:

ConfigRuntimeImprovement
ReleaseSafe (main)93.12sโ€”
ReleaseFast (hacking)60.56s-35%

This shows the real cost of Zig's safety guarantees: about 35% performance overhead in safe mode. When you disable safety checks, Zig becomes significantly faster โ€” comparable to Rust and C++.

Compile Time Observation

Note that incremental compile time (20.11s) is roughly equal to cold compile time. This suggests the build is mostly single-threaded and likely uses LLVM whole-module optimization โ€” Zig compiles the entire module as one unit rather than splitting it into parallel compilation units.

Want to dive deeper into any specific benchmark or configuration?

#18 03 Sep 2026 ยท 16:16
update 2026-09-03

๐Ÿค– AI Tool: The September 3, 2026 update brings several interesting changes โ€” new languages join the suite, GraalVM delivers a massive performance jump, Go gets a notable boost in parallel Matmul, and the compile table now includes detailed CPU time metrics. Let's break it down.

1. Major Version Changes

  • Rust: 1.97.1 โ†’ 1.98.0
  • Node.js: v26.7.0 โ†’ v26.8.1
  • D/LDC: 1.42.0 (LLVM 21) โ†’ 1.43.0 (LLVM 22)
  • Go: 1.26.5 โ†’ 1.27.1
  • Java/GraalVM: 25.2.4+7.1 โ†’ 25.3.4.1+1.1
  • Odin: dev-2026-08 โ†’ dev-2026-09
  • Bun: 1.3.14 โ†’ 1.4.0
  • Wasmtime: 47.0.3 โ†’ 48.0.1
  • Wasmer: 7.2.1 โ†’ 7.4.0

2. New Additions

  • Mojo โ€” a new systems programming language from Modular, now in the main ranking at 131.2s. Still early days โ€” many tests use Python interop instead of native implementations, which hurts performance significantly. Despite that, it already achieves a Runtime Score of 74.7 โ€” quite respectable given the circumstances.
  • PHP โ€” added to the hacking section. Too slow for the main ranking (527.5s), but interesting to track.

3. Performance Changes

  • Java/GraalVM: 88.28s โ†’ 81.08s (-8.2%) โ€” massive improvement from GraalVM 25.2.4 โ†’ 25.3.4.1
  • Kotlin/GraalVM: 92.58s โ†’ 84.42s (-8.8%) โ€” same GraalVM boost
  • Scala/GraalVM: 101.6s โ†’ 89.19s (-12.2%) โ€” also benefits from GraalVM
  • Go: significant improvement in parallel Matmul benchmarks โ€” Matmul::T4 2.34s โ†’ 1.32s, Matmul::T8 1.26s โ†’ 0.695s, Matmul::T16 1.19s โ†’ 0.398s. Likely related to Go 1.27.1 scheduler or runtime improvements.
  • Bun/JIT: 146.6s โ†’ 139.5s (-4.8%) โ€” Bun 1.3.14 โ†’ 1.4.0
  • TypeScript/Deno: 181.0s โ†’ 179.7s (-0.7%) โ€” slight improvement
  • Rust: 59.05s โ†’ 59.45s (+0.7%) โ€” Rust 1.97.1 โ†’ 1.98.0, within noise
  • Python/PYPY: 308.9s โ†’ 317.1s (+2.8%) โ€” slight regression

4. Compilation Performance โ€” New Metrics

The compile table now includes UserTime (actual CPU time) and SysTime (kernel time), making it much easier to see how well each language parallelizes builds.

  • Best incremental compile: C/Clang โ€” 0.05s wall, 0.02s user. Almost instant.
  • Best parallelization: C++/Clang++ (UserTime 7.87ร— WallTime), Rust (7.13ร—), Scala (5.44ร—) โ€” they use all available cores.
  • Worst memory hog: D/LDC โ€” 2319 Mb cold RSS, 1379 Mb incremental. Scala and Kotlin also exceed 1 Gb.
  • Cold compile leader: C3 โ€” 1.27s wall (but 6.69s user โ€” highly parallel).
  • Incremental compile leader: C/Clang (0.05s), C/Gcc (0.08s), C/mycc (0.08s).

Interesting observations:

  • Rust has 1.32s incremental wall, but 7.09s user โ€” great parallelization, still heavy.
  • Mojo shows UserTime โ‰ˆ WallTime โ€” mostly single-threaded for now.
  • Go incremental is 0.35s wall, 0.76s user โ€” fast and well-balanced.
  • D/LDC and Crystal have the worst cold compile times (>22s).

Summary: GraalVM gets a massive boost, Mojo and PHP join the party, Go improves parallel Matmul, Bun improves, Rust holds steady, and the new compile metrics reveal C/Clang as the incremental compilation king. ๐Ÿ™

#17 25 Aug 2026 ยท 21:59
which benchmark showcases best the problem of java not having stack allocated structs?

๐Ÿค– AI Tool: Your question touches on three benchmarks, each highlighting a different angle of the problem.

1. Etc::TextRaytracer โ€” Access-Heavy, Not Allocation-Heavy

This benchmark creates many tiny objects (Vector, Ray, Color, Hit) but mostly accesses and transforms them. Java's JIT does an excellent job here via escape analysis and scalar replacement, often eliminating allocations entirely. Result: Java 1.21s vs C 1.35s and C++ 1.37s.

This benchmark is challenging for many languages โ€” especially interpreted ones โ€” due to the high number of abstractions. Java handles it remarkably well, proving that modern JIT can rival compiled languages in access-heavy workloads.

2. Binarytrees::Arena โ€” The Real Allocation Problem

This benchmark uses an arena pattern โ€” pre-allocated storage pool for objects. Languages with stack-allocated structs handle this efficiently with contiguous memory. Java doesn't support this natively, and it shows: Java 1.34s vs C 0.32s. This is where the absence of structs actually hurts.

3. Binarytrees::Obj โ€” Random Allocation

This benchmark creates objects without an arena โ€” just random heap allocations. Here, Java's GC and allocator are highly optimized: Java 0.871s, beating C (2.62s). This shows that Java is not bad at allocation โ€” it's bad at arena-style allocation.

So the problem is not "Java is slow with objects" โ€” it's "Java lacks control over memory layout and arena allocation." That's where the old rumor about structs comes from. But as TextRaytracer shows, Java is perfectly capable of handling high-abstraction, access-heavy workloads with excellent performance.

#16 20 Aug 2026 ยท 12:35
Your expressiveness metric is incorrect - you use macros in Crystal but don't use them in Zig.

๐Ÿค– AI Tool: You're absolutely right โ€” this metric is subjective. In many languages you can invest more effort and use macros or other metaprogramming techniques to hide a lot of boilerplate. That's a valid point.

The metric simply measures the final code size as it's written in the benchmark, not what's theoretically possible. If a language uses macros to shorten code, it reflects that. If another language doesn't, it's also reflected.

It's worth noting that in Crystal, the macro usage is actually minimal โ€” just a small loop to register subclasses at compile time:

{% for kl in @type.all_subclasses %}
      available_benches[{{kl.stringify}}] = {{kl.id}}
    {% end %}

The real difference in verbosity comes from how the languages handle OOP, encapsulation, and memory management. Crystal hides inheritance and encapsulation under the hood. Zig, on the other hand, makes you manage everything explicitly โ€” manual memory, vtable, cleanup. It's not about macros; it's about what the language does for you by default.

(Zig could probably hide some of this with comptime macros too โ€” but that's not what's written in this benchmark.)

Another way to look at it: imagine the same amount of effort was spent writing each implementation (which isn't exactly true in practice โ€” different languages take different time to debug and polish). But if we assume equal effort, then the metric roughly reflects effort-to-expressiveness โ€” how much code you get for the effort you put in.

It's not a perfect metric โ€” it's just one perspective, and it doesn't affect the main results: runtime and memory. Originally, there was no plan to include it at all โ€” it's just extra data for those who are interested.

Also worth noting: the metric gives some insight into how AI-generated code differs across languages. Does the AI use macros in one language but not in another? Does that mean macros are harder to use, or just less idiomatic? I'm not sure โ€” but it's an interesting question.

I'm open to improving the implementations if someone shows a better way.

๐Ÿ™
#15 14 Aug 2026 ยท 11:17
update 2026-08-14

๐Ÿค– AI Tool: The August 14, 2026 update brings a few notable performance shifts and some interesting new additions. Let's break it down.

1. Major Version Changes

  • Node.js: v26.5.0 โ†’ v26.7.0
  • Crystal: 1.20.3 โ†’ 1.21.0 โ€” major version bump
  • GraalVM: 25.1.3+9.1 โ†’ 25.2.4+7.1
  • Kotlin: 2.4.0 โ†’ 2.4.10
  • Dart: 3.12.2 โ†’ 3.13.0 โ€” major version bump
  • Deno: 2.9.2 โ†’ 2.9.5
  • Odin: dev-2026-07 โ†’ dev-2026-08
  • C3: 0.8.2 โ†’ 0.8.3
  • Wasmtime: 46.0.1 โ†’ 47.0.3 โ€” major version bump
  • mycc: 0.8.0 โ†’ 0.10.0

2. Performance Changes

  • C3: 81.74s โ†’ 73.68s (-9.9%) โ€” JSON benchmarks were optimized, giving a solid boost
  • Crystal: 74.59s โ†’ 79.13s (+6.1%) โ€” Crystal 1.21.0 introduced a new concurrency model; Matmul benchmarks slowed down, possibly a bug
  • Dart/JIT: now in the main table at 183.9s โ€” faster than Dart/AOT (203.9s), so it replaces the AOT version
  • Julia: 110.5s โ†’ 113.6s (+2.8%) โ€” usual AMD noise, nothing changed

3. New Additions

  • Ruby โ€” added to the hacking section with multiple implementations: CRuby 2/3/4 (with YJIT/ZJIT), TruffleRuby (Native/JVM), JRuby, and Spinel. Still too slow for the main ranking, but interesting to track.
  • Spinel โ€” an AOT compiler for Ruby. Still early, but already ~3x faster than CRuby. Worth watching.

Summary: C3 gets a nice boost from JSON optimizations. Crystal regresses due to concurrency changes. Dart/JIT replaces AOT. Ruby joins the hacking section with a bunch of implementations โ€” Spinel looks promising, ~3x faster than CRuby. ๐Ÿ™

#14 13 Aug 2026 ยท 22:05
you gotta get latest tinycc from the mob branch. btw C binaries can be made much smaller (one order of magnitude) by using musl libc instead of glibc. 400KB become 40KB. C doesn't win in your AI analysis, even though it leads in most categories. C++: in your AI analysis you always mention C++ in front of C (e.g. C++/G++: Speed Demons) even though C is faster, so it should come first. this shows the bias of your weights. as for segfaults with C, you dont even need GDB anymore. just compile with address sanitizer enabled and you get the backtrace directly when running the binary. same level of comfort as your beloved rust. and if you can't see the rust hype and the "RIIR" propaganda you must be blind. you also didn't address any of the endemic issues with rust i mentioned. i cannot create a new libc or CPU or OS and bootstrap rust from source. i have to wait for and trust the rust clowns at mozilla corp, who actively sabotage bootstrap-from-source: https://blog.rust-lang.org/inside-rust/2025/05/29/redesigning-the-initial-bootstrap-sequence . by using rust you buy into an opaque eco-system that can pull the rug from below your code at any moment. the safety argument is moot too: https://github.com/Speykious/cve-rs . apart from that, most rust programs are riddled with unsafe statements. trading so-called safety for liberty is the wrong choice. people should wake the f**k up.

๐Ÿค– AI Tool: Thank you for the detailed response and the links โ€” the pointers about TCC, musl, ASan, and cve-rs are genuinely useful. I'll take note of them.

Regarding the AI analysis โ€” it was generated on March 6, 2026, based on the data available at that time. The benchmark has gone through several iterations since then, and the results have shifted slightly (you can probably see this in the history tab). The AI analysis will be updated when I get a chance.

On the safety argument โ€” yes, you can write unsafe code in Rust, but it takes deliberate effort. The language protects you from common mistakes by default. In C, you get no such protection โ€” it's trivial to shoot yourself in the foot without even realizing it. That's the real difference. It's not about absolute safety, it's about making the safe path the easy path.

One thing worth adding โ€” solo coding is very different from corporate coding. One person can be extremely careful and never hit a segfault in C. But when you have a team of 100 developers with different skill levels, you never know where it's going to explode. Rust acts as a life jacket for the team โ€” it doesn't make everyone a genius, but it stops them from shooting themselves in the foot. That's why it matters.

To be honest, I'm not interested in Rust hate or language wars in general. I look at the numbers โ€” and I respect Rust for what it achieves. That's it.

The rest of your points touch more on language philosophy, ecosystem trade-offs, and personal preferences. I don't have a strong desire to debate those โ€” I'll stick with my perspective, but I appreciate you sharing yours.

At the end of the day, this is a benchmark, not a forum for language wars. I present numbers โ€” you draw your own conclusions. That's the whole point.

#13 13 Aug 2026 ยท 13:41
you should also measure memory usage during compilation. on my PC i cannot even compile most rust programs because i have only 4GB. also, as noted earlier the comparison of wall time is unfair to C vs rust because the latter is parallelized. so what you should really measure is user time, not wall time. besides, there's also tcc which has incredibly fast compile times. it can be used during development when you need fast turn-around, but not a release-class binary. also your essay about LLM friendliness makes it sound as if a segfault is utterly difficult to debug. it isn't. just compile with debug flags and run it in gdb, and type "bt" after segfault. you immediately get a backtrace telling you precisely where the bug is. another aspect your benchmark should look at is supply-chain safety. in the cesspool of npm, pip and cargo micro-dependencies you basically cant ever be sure not to get pwned when compiling/installing anything. OTOH C ecosystem is mature and provided by distro, it's completely trustworthy. your AI analysis often completely dismisses C in favor of C++ - the mindset of brainwashed microsoft users who think C is that old thing nobody should use. and Rust is hyped everywhere because "zomg memory safety". probably you got trained on all the rust hype on lobsters. it completely disregard the endemic issues of rust: there's no spec, the language is practically impossible to bootstrap from source, it doesnt support all CPU/Os combos, and you're dependent on the whims of the folks at mozilla corporation who decide what breaks with the next binary release. you cant even compile firefox unless you download the latest nightly because the rust compiler is already out of date the moment it's released. if anything, C should be the clear winner since it wins most categories. also in my experience, human-written C code is way less verbose than C++ with all its <<>>[&]std:: spam. of course LLMs write horribly defense C. basically whenever they access an integer they surround it with 4 lines of range checks. a human otoh would only check once, or know that only a certain range of values can possibly exist, resulting in much more concise code.

๐Ÿค– AI Tool: Let me address your points one by one.

1. Memory usage during compilation

Already tracked. The Compile page includes Memory Peak Cold, Mb column โ€” exactly what you're asking for.

2. Wall time vs user time / parallel compilation

Fair point. There's no universal solution โ€” each language compiles differently: Rust parallelizes automatically, C/C++ use make -j, others may be not. User time could be added as an additional metric, will consider it.

3. TCC (TinyCC)

TCC was tried, but there were some compilation bugs, so it's not included. Instead, there's mycc and cproc now.

4. Segfault and gdb

gdb helps, but Rust gives the same confidence without running a debugger. Different level of convenience.

5. Supply-chain safety

Difficult to measure fairly. Each language manages dependencies differently, often implicitly. Too complex for an objective comparison within this benchmark.

6. AI overpraises C++

That's the AI Analysis section โ€” the AI writes what it thinks. Not a statement, just an observation.

7. Rust is hype?

Rust delivers outstanding results while remaining safe. Unlike C and C++, where safety is entirely on the developer. Criticism of Rust feels misplaced โ€” if anything, it deserves respect.

8. C is not winning?

C is #1 in runtime, rtscore, wins, compile time, almost first on memory. Victory already recorded.

9. C vs C++ verbosity

True, human-written C is often less noisy than C++ with its <<>> & std:: spam. But C++ hides low-level details and gives you clean OOP, making code shorter and more readable in many cases. Trade-off.

10. "4 lines of range checks" โ€” where?

You'll have to point me to the specific code. The benchmarks use clean, idiomatic implementations โ€” no 4-line range checks around integers that I've seen. The AI didn't generate defensive code like that here, it just translated the logic. Open a PR if you spot something.

Summary: C is #1. Rust is impressive. TCC didn't work. User time might be added. Supply-chain safety is too hard to benchmark. ๐Ÿ™

#12 14 Jul 2026 ยท 21:50
update 2026-07-14

๐Ÿค– AI Tool: The July 14, 2026 update is minor โ€” mostly version bumps and some new additions. Let's break it down.

1. Major Version Changes

  • Rust: 1.96.0 โ†’ 1.97.0
  • Node.js: v26.3.0 โ†’ v26.5.0
  • TypeScript: 6.0.3 โ†’ 7.0.2
  • Deno: 2.8.3 โ†’ 2.9.2
  • Odin: dev-2026-06 โ†’ dev-2026-07
  • GraalVM: 25.0.2 โ†’ 25.1.3
  • Wasmtime: 45.0.2 โ†’ 46.0.1
  • Wasmer: 7.1.0 โ†’ 7.2.0
  • WasmEdge: 0.16.4 โ†’ 0.17.1

2. New Additions

  • mycc โ€” Author's own C compiler that uses libclang for parsing C code, generates its own intermediate representation (IR), and supports multiple backends: LLVM (55.48s), QBE (84.29s).
  • cproc โ€” a fast C compiler with QBE backend (82.84s). Known for its compile speed, now part of the benchmark suite.

3. Discussion: New C Compilers

The most interesting addition this update is the C compiler lineup. mycc/LLVM scores 55.48s โ€” close to Clang (54.16s) and GCC (57.96s). For a hobby compiler using libclang for parsing and custom IR, it holds up well.

On the QBE backend, both mycc/QBE (84.29s) and cproc/QBE (82.84s) show the cost of a simpler backend โ€” QBE prioritizes compile speed over runtime performance, and these numbers reflect that trade-off.

One caveat on compile times: cproc is known to be extremely fast โ€” the reported cold compile time (3.1s) is for parallel builds and represents the slowest module (yyjson, which is compiled by Clang). The actual sequential compilation of all modules with cproc is around ~900ms, but this isn't visible in the table due to the dependency overhead.

4. Performance Changes

  • Julia: 126.7s โ†’ 110.5s (-12.8%) โ€” no code changes. Just the usual AMD Ryzen randomness. Jumps up and down between runs. Not a real trend.
  • Deno: 180.2s โ†’ 177.9s (-1.3%) โ€” slight recovery from the major regression in the previous update.
  • Odin: 92.82s โ†’ 91.75s (-1.2%) โ€” continues its steady monthly improvement streak.

Summary: New C compilers join the party โ€” mycc (author's own) and cproc. Julia fluctuates as always on AMD. Odin continues its steady monthly improvements. Deno recovers slightly from the previous major regression. ๐Ÿ™

#11 17 Jun 2026 ยท 13:08
Show table of lang clusters by RtScore

๐Ÿค– AI Tool: You're asking for the cluster breakdown by Runtime Score. Here it is โ€” normalized performance tiers based on the average across all benchmarks, which smooths out outliers and gives a clearer picture of each language's consistent performance.

๐Ÿ† Runtime Score Clusters

  • ๐ŸŒŸ 90โ€“95 (Elite Tier)
    • 91.3 โ€” C/Clang
    • 91.2 โ€” C++/Clang++
    • 89.8 โ€” Rust
  • ๐Ÿ’ช 80โ€“85 (Strong Contenders)
    • 83.4 โ€” C3
    • 82.3 โ€” D/LDC
    • 80.5 โ€” Crystal
  • ๐Ÿ’ช 75โ€“80 (Solid Performers)
    • 78.3 โ€” Odin
    • 77.9 โ€” C#/JIT
    • 77.2 โ€” Go
    • 76.2 โ€” Java/GraalVM/JIT
    • 75.8 โ€” Kotlin/JVM
    • 75.6 โ€” Nim/GCC
    • 75.4 โ€” Zig
    • 75.1 โ€” V/Clang
  • ๐Ÿ“ฆ 70โ€“75 (Middle Tier)
    • 73.0 โ€” Scala/JVM
    • 72.5 โ€” F#/JIT
  • ๐Ÿ”ฌ 60โ€“65 (Niche/Specialized)
    • 62.0 โ€” Julia/Default
  • ๐Ÿข 50โ€“55 (Slow Lane)
    • 54.0 โ€” TypeScript/Node
    • 53.5 โ€” Swift
  • ๐Ÿข 35โ€“45 (The Anchors)
    • 39.2 โ€” Dart/AOT
  • ๐Ÿชจ Below 25 (The Bottom)
    • 21.7 โ€” Python/PYPY

These clusters remove the noise from individual library quirks (like CSV or JSON) and show each language's true, consistent performance profile. ๐Ÿ™

#10 16 Jun 2026 ยท 16:28
update 16.06.2026

๐Ÿค– AI Tool: The June 16, 2026 update is minor โ€” mostly version bumps and a few interesting performance shifts. Let's break it down.

1. Major Version Changes

  • Rust: 1.95.0 โ†’ 1.96.0
  • Node.js: v26.1.0 โ†’ v26.3.0
  • Java/OpenJDK: 25.0.3-ea โ†’ 26.0.1 โ€” Java 26 is now stable
  • Kotlin: 2.3.21 โ†’ 2.4.0
  • Scala: 1.12.4 โ†’ 1.14.0
  • Dart: 3.11.6 โ†’ 3.12.2
  • Deno: 2.7.14 โ†’ 2.8.3
  • Odin: dev-2026-05-nightly โ†’ dev-2026-06-nightly
  • C3: 0.8.0_3 โ†’ 0.8.1
  • Wasmtime: 44.0.1 โ†’ 45.0.2
  • Nim/NLVM: updated to Nim 2.2.10 (was 2.2.4) with latest NLVM

2. Performance Changes

  • D/LDC: 90.93s โ†’ 79.29s (-12.8%) โ€” CSV::Parse was rewritten using mir-ion library; this single change gave the boost
  • Odin: 101.3s โ†’ 92.82s (-8.3%) โ€” the real winner of this update. Language improvements, mainly Base64 acceleration
  • Nim/GCC: (-3.4%)
  • Scala/JVM: (-2.6%)
  • TypeScript/Node: (-1.2%)
  • Dart/AOT: 193.7s โ†’ 205.6s (+6.1%) โ€” Dart 3.11.6 โ†’ 3.12.2 (major bump)
  • Julia: 112.7s โ†’ 126.7s (+12.5%) โ€” no code changes. Likely instability on AMD Ryzen. Sometimes faster, sometimes slower between runs. Needs monitoring.
  • TypeScript/Deno: 151.3s โ†’ 180.2s (+19.1%) โ€” Deno 2.7.14 โ†’ 2.8.3 (major bump). Likely V8 flags or runtime changes caused the regression

Summary: D/LDC proves library-level optimizations can be game-changers. Odin continues steady progress. Deno and Dart regressed. Julia remains unstable on AMD. ๐Ÿ™

#9 14 Jun 2026 ยท 14:56
update 17.05.2026

๐Ÿค– AI Tool: The May 17, 2026 update is significant โ€” new language (C3), major version bumps (GCC 16, Node 26), and some unexpected regressions. Let me break it down.

1. Major Version Changes

  • Ubuntu: 25.10 โ†’ 26.04 (base OS upgrade)
  • GCC: 15.2.0 โ†’ 16.0.1 (experimental trunk) โ€” major bump
  • Node.js: v25.9.0 โ†’ v26.1.0 โ€” major bump
  • Java/OpenJDK: rolled back from 26-ea to 25.0.3-ea (Ubuntu 26.04 doesn't have Java 26 yet)
  • Clang: 22.1.1 โ†’ 22.1.5 (minor)
  • Crystal: 1.20.0 โ†’ 1.20.2
  • Nim: 2.2.8 โ†’ 2.2.10
  • Go: 1.26.2 โ†’ 1.26.3
  • Kotlin: 2.3.20 โ†’ 2.3.21
  • Dart: 3.11.5 โ†’ 3.11.6
  • Bun: 1.3.12 โ†’ 1.3.14
  • Deno: 2.7.12 โ†’ 2.7.14
  • C#/F#: 10.0.106 โ†’ 10.0.107
  • Odin: dev-2026-04-nightly โ†’ dev-2026-05-nightly

2. New Languages / Backends

  • C3 language โ€” brand new language added to the suite
  • GDC (GCC D compiler) โ€” returned as a D backend alongside LDC

3. Performance Changes (Runtime)

Biggest improvements:

  • TypeScript/Node: 163.4s โ†’ 137.2s (-16.1%) โ€” Node 26 is now the fastest JS runtime again
  • Python/Pypy: (-3.3%)
  • Dart/AOT: (-3.1%)
  • V/GCC: (-2.4%)
  • Odin/Default: (-2%)
  • D/LDC: (-1.7%)

Biggest regressions:

  • Nim/GCC: 84.97s โ†’ 114.7s (+35%) โ€” due to `re` being deprecated, replaced with slower `nim-regex`
  • Nim/Clang: 85.63s โ†’ 114.3s (+33%) โ€” same reason

4. New Language: C3

C3 is a C evolution with modern features โ€” no headers, modules, generics, defer, slices, operator overloading, compile-time reflection, and safer by default. Results:

  • C3 (default): 82.22s โ€” immediately ranks between Crystal (74.73s) and C# (87.91s)
  • C3/Fast: 74.89s (-9%)
  • C3/Unsafe: 67.76s (-18%) โ€” approaches Rust territory (58.58s)
  • Compile time (cold): 1.51s โ€” fastest in the entire suite!
  • Compile time (incremental): 1.47s

C3's debut is impressive โ€” fast compilation, decent runtime, and modern features. It's not replacing C yet, but it's a strong contender for "better C".

5. Node 26 โ€” JS Runtime King Returns

Node.js v26.1.0 jumped from 163.4s to 137.2s (-16.1%). Now Node is faster than both Bun (146.8s) and Deno (151.3s). The "Bun is faster" era lasted only a few months.

6. Compile Time Revolution for C/C++

C and C++ code was split into many small files, enabling full make -j parallelism:

  • C/Clang cold: 8.69s โ†’ 3.22s (-63%)
  • C/Clang incremental: 2.87s โ†’ 0.489s (-83%) โ€” now fastest in the suite
  • C++/Clang++ cold: 18.43s โ†’ 4.65s (-75%)
  • C++/Clang++ incremental: 14.34s โ†’ 1.52s (-89%)

C/Clang now has the fastest incremental compile (0.489s), beating Go (0.728s).

7. What's Next?

Nim needs to address the regex regression โ€” either optimize `nim-regex` or find another solution. C3 is one to watch. And Node just reminded everyone why it's still the default.

That's the summary โ€” big moves for Node and compile times, rough month for Nim. ๐Ÿ™

#8 17 Apr 2026 ยท 23:20
Tell what changed in the update on April 17, 2026.

๐Ÿค– AI Tool: The April 17, 2026 update is substantial โ€” new compiler versions, new backends (Nim/NLVM), PGO configurations for multiple languages, and some surprising regressions. Let me break it down.

1. Version Updates & New Configurations

Major version bumps:

  • Clang: 21.1.2 โ†’ 22.1.1 (LLVM 22)
  • Java/OpenJDK: 25.0.2 โ†’ 26 (major)
  • Zig: 0.15.2 โ†’ 0.16.0
  • Rust: 1.93.1 โ†’ 1.95.0
  • Crystal: 1.19.1 โ†’ 1.20.0
  • Nim: 2.2.6 โ†’ 2.2.8
  • Swift: 6.2.3 โ†’ 6.3.1
  • Go: 1.26.0 โ†’ 1.26.2
  • Julia: 1.12.5 โ†’ 1.13.0-beta3
  • Dart: 3.11.0 โ†’ 3.11.5
  • TypeScript/Bun: 1.3.9 โ†’ 1.3.12
  • TypeScript/Deno: 2.6.10 โ†’ 2.7.12
  • V: 0.5.0 โ†’ 0.5.1

New configurations added (in section Hacking):

  • Nim/NLVM โ€” Nim compiled through LLVM (experimental backend)
  • PGO configurations โ€” for C/Clang, C/Gcc, C++/Clang++, C++/G++, Nim, Rust

2. Overall Performance Changes

Percentage change from March 9 to April 17:

  • C/Clang: -9.0% โ€” massive improvement, new leader (LLVM 22?)
  • C++/Clang++: -6.7% โ€” also significant gain (LLVM 22?)
  • Julia: -8.3% โ€” keeps getting faster (3 wins now!)
  • TypeScript/Deno: -5.7% โ€” now fastest JS runtime
  • D/LDC: -4.1% (now Top4 in RtScore, LLVM 22?)
  • Dart/AOT: +2.5% โ€” slight regression
  • Zig: +22.0% โ€” major regression (discussed below)

3. Nim/NLVM โ€” LLVM Backend for Nim

A new experimental backend that compiles Nim through LLVM directly (instead of generating C). Results:

  • Nim/NLVM (release): 81.91s total
  • Nim/NLVM Danger: 68.24s โ€” faster than Nim/GCC (84.97s) and Nim/Clang (85.63s)
  • Memory: Similar to other Nim configs (~52-53MB)
  • Compile time (cold): 8s โ€” slower than Nim/GCC (3.28s) and Nim/Clang (2.76s)
  • Compile memory (cold): 260MB โ€” much higher than other Nim configs (~135MB)

NLVM shows promise โ€” the Danger build is the fastest Nim configuration overall.

4. PGO โ€” Profile-Guided Optimization

New PGO configurations were added for C, C++, Nim, and Rust:

  • C/Clang/PGO: 55.87s (vs default 52.62s โ€” actually slower!)
  • C/Gcc/PGO: 57.38s (vs default 57.76s โ€” slight gain)
  • C++/Clang++/PGO: 60.31s (vs default 57.48s โ€” slower)
  • C++/G++/PGO: 57.22s (vs default 58.10s โ€” slight gain)
  • Rust/PGO: 55.58s (vs default 57.37s โ€” modest 3% gain)
  • Nim/GCC/PGO: 88.84s (vs default 84.97s โ€” slower)
  • Nim/Clang/PGO: 96.83s (vs default 85.63s โ€” much slower)

Conclusion: PGO helps in some cases (Rust, Gcc) but hurts in others. C/Clang default already seems optimal.

5. Major Changes Impact

LLVM 22 (Clang 22.1.1): The main driver behind C/Clang and C++/Clang++ improvements. Better auto-vectorization, inlining heuristics, and code generation.

Java 26: Java/OpenJDK improved from 91.83s (March 9) to 89.82s โ€” a modest 2.2% gain. The 26 version brings incremental improvements, not a revolution.

Zig 0.16.0: Significant regression โ€” from 75.69s to 91.63s (+22%) in default ReleaseSafe build. Possibly new safety checks, allocator changes, or LLVM interactions. The unchecked version (Zig/Unchecked - ReleaseFast) improved from 68.16s to 60.44s โ€” an 11.3% gain.

Julia 1.13.0-beta3: Continued improvement โ€” from 124.9s to 112.6s (-9.8%). String optimizations appear to be working.

6. Zig Regression โ€” Compress::LZWEncode

The most dramatic regression is in Compress::LZWEncode:

  • Zig (March 9): 1.61s
  • Zig (April 17): 16.63s

This single test jumped from 1.61s to 16.63s โ€” a ~10ร— slowdown. Something in Zig 0.16.0's hash table implementation, string handling, or memory allocation behavior changed dramatically for this specific compression algorithm. This is likely a compiler regression that should be reported.

7. Zig vs Zig/Unchecked โ€” Huge Gap in LZWEncode

Look at the difference on the same test:

  • Zig (ReleaseSafe): 16.63s
  • Zig/Unchecked (ReleaseFast): 0.405s โ€” 97.6% faster (41ร— speedup)

The unchecked mode disables safety checks (bounds, overflow, integer casts). The massive gap suggests that Zig 0.16.0's safety checks are either extremely expensive in this specific hot loop, or there's a pathological interaction causing quadratic behavior in the safe version. This is a clear example of the safety-performance tradeoff: Zig gives you the option to disable checks, and here it's necessary to get reasonable performance.

Overall Zig summary:

  • ReleaseSafe build: 91.63s total (regressed by 22%)
  • ReleaseFast build: 60.44s total (improved by 11.3% from 68.16s)
  • ReleaseFast vs ReleaseSafe in this update: 60.44s vs 91.63s โ€” 34% faster (1.52ร—)

The safe version got slower; the unsafe version got faster. This is worth investigating โ€” is Zig 0.16.0 too conservative with checks, or is the safe code hitting a pathological case?

Thanks for the question โ€” this update has a lot to unpack, and the Zig regression is the most concerning finding. ๐Ÿ™

#7 05 Apr 2026 ยท 20:12
Go vs Kotlin

๐Ÿค– AI Tool: An interesting comparison โ€” two very different languages that occasionally compete in the same space (backend services). Let's look at the numbers:

Runtime Performance

  • Go total: 116.6s
  • Kotlin/JVM: 96.4s

At first glance, Kotlin is 17% faster overall. But both languages have slow regex imlementations (used in benchmarks Etc::LogParser, Template::Regex):

  • Go without regex: 78.5s (regex takes ~38s)
  • Kotlin without regex: 77.4s (regex takes ~19s)

Remove regex from both, and Go and Kotlin are nearly identical โ€” within 1.1s of each other. Both suffer from slow regex (Go's is pure Go, Java/Kotlin's regex is historically not their strong suit). For compute-heavy tasks, they're equals.

Scaling (16 threads)

  • Go: 6.51ร— speedup
  • Kotlin: 11.65ร— speedup

Kotlin absolutely dominates here. JVM's threading model is far superior for CPU-bound parallel work. Go's goroutines are designed for I/O, not CPU parallelism.

Memory Usage

  • Go: 64.9MB
  • Kotlin: 313.3MB

Go uses 4.8ร— less memory. For memory-constrained environments (containers, edge), Go wins decisively.

Compile Time

  • Go: 0.76s (incremental), 3.48s (cold)
  • Kotlin: 18.6s (incremental), 18.3s (cold)

Go compiles 24ร— faster incrementally. This is Kotlin's biggest weakness โ€” the compilation tax is severe.

Expressiveness

  • Go: +30.6%
  • Kotlin: +22.0%

Surprisingly, Go is more concise than Kotlin in these benchmarks โ€” both are above average, but Go leads.

When to choose what

  • Choose Go โ€” microservices, CLI tools, network services, memory-constrained environments, teams that value fast iteration and simple deployment
  • Choose Kotlin โ€” CPU-heavy parallel workloads, existing JVM shops, Android development, projects where compile time is not a primary concern

Two different philosophies: Go prioritizes developer velocity and operational simplicity; Kotlin prioritizes runtime performance and JVM ecosystem integration. But for compute-heavy code, they're closer than you'd think โ€” regex is the real outlier for both. ๐Ÿ™

#6 26 Mar 2026 ยท 14:55
How come that according to the benchmark numbers, the compile times for C (GCC 11.74s, Clang 8.69s) are higher than Rust (8.26s), Nim/GCC (3.49s!) and Odin (8.12s)? Isn't one of Rust's pain points that it usually compiles much slower than C?

๐Ÿค– AI Tool: Good question โ€” the numbers show a more nuanced picture than the common perception. Let me break it down clearly.

1. Cold compile (full rebuild from scratch)

  • C/Gcc: 11.74s
  • C/Clang: 8.69s
  • Rust: 8.26s
  • Nim/GCC: 3.49s
  • Zig: 80.75s

Part of C/C++'s cold build time comes from compiling dependencies: base64, cJSON, minicsv, yyjson for C; base64, simdjson, lazycsv, json.hpp for C++. Nim and Go probably precompile dependencies at installation, so their cold builds skip that work. Rust also compiles dependencies, so it's on equal footing with C/C++ here โ€” yet it still finishes faster than C/Clang.

2. Incremental compile (single file change)

  • Go: 0.759s
  • Rust: 1.72s
  • C/Gcc: 2.02s
  • C/Clang: 2.87s

Why is C slower here? Because in this benchmark, all C/C++ code is in a single monolithic file. Any change forces a rebuild of the entire file (this is how it's implemented in this project and needs to be fixed by splitting into many small files).

Additionally, with everything in one file, parallel builds (make -j) can't help โ€” there's nothing to parallelize. A proper modular structure would allow multiple files to compile in parallel, which would make C/C++ builds much faster.

Rust and many others use multiple files. Incremental builds only recompile the changed file, not the entire suite. That's why Rust's incremental build can be faster than C/C++'s.

3. Why Zig and Crystal are so slow to compile

Both use whole-module LLVM compilation. The compiler sees the entire program at once, which allows aggressive cross-module optimizations (inlining). This gives excellent runtime performance โ€” Crystal runs at 75.77s โ€” but at a cost: Crystal's cold build takes 23.79s, Zig takes 80.75s.

4. Rust's real achievement

Rust doesn't use whole-module compilation. It builds modularly, yet still achieves runtime performance (58.45s) that beats Crystal (75.77s). How? Rust's compiler must be structuring code so that module boundaries don't become optimization barriers. It likely uses smart heuristics to split code into LLVM modules where:

  • Inter-module calls are rare
  • Hot functions get inlined across boundaries where it matters
  • LLVM can optimize effectively within each module

This is a genuine compiler achievement: fast incremental builds without sacrificing runtime performance. Most languages have to choose between the two; Rust delivers both.

5. So is Rust slow to compile?

The common perception is that Rust compiles slowly. The numbers tell a different story.

The perception likely comes from things:

  • Large Rust projects (like Servo, ripgrep) often have many dependencies, which dominate compile time โ€” but that's true for any language with a rich ecosystem
  • Old memories โ€” Rust's compile times have improved dramatically over the years

In this benchmark, with a reasonably sized codebase (5000+ lines), Rust compiles quite fast. The "Rust compiles slowly" meme doesn't hold up here.

6. Important caveat: C/C++ compile times are not directly comparable

The metric is not entirely fair โ€” C and C++ in this benchmark do not use parallel compilation like most other languages. Because all code is in a single monolithic file, make -j cannot parallelize anything. Rust, Nim, and others split code across multiple files, allowing parallel compilation by default.

This means the numbers for C/C++ are not directly comparable to the rest. If the C code were properly modularized, its compile times would likely improve. For a fair comparison, this would need to be fixed.

Interestingly, Go also uses a single monolithic file in this benchmark โ€” yet it still compiles much faster (0.76s incremental, 3.48s cold). This shows that Go's compiler is simply faster at processing a single file, while C/C++ are slowed down by repeatedly parsing and compiling large headers (simdjson.h, cJSON.h, yyjson.h, etc.) that are included in the single file. Each rebuild re-processes all these headers, which adds overhead.

#5 26 Mar 2026 ยท 11:29
In the Calculator::Interpreter benchmark, the two C variants (clang and gcc) were on the slow side, whereas Go and Java were among the fastest, even faster than Rust. How is that possible?

๐Ÿค– AI Tool: Let's look at the actual numbers for Calculator::Interpreter first:

  • Go: 0.696s
  • Java: 0.694s
  • C++: 0.713s
  • Rust: 0.787s
  • C: 0.955s

So C++ is within 0.02s of Go and Java. Rust is a bit slower. Only C is significantly slower.

Now, let's look at what each language uses for the AST nodes and variable storage:

  • C: Tagged union + pointers + manual malloc. Variables: uthash (third-party macro hash table).
  • C++: std::variant + std::unique_ptr. Variables: std::unordered_map.
  • Rust: enum Node + Box. Variables: HashMap (hashbrown).
  • Java: interface Node + classes. Variables: HashMap. The JVM is heavily optimized for this exact pattern โ€” object allocation, polymorphic calls, and GC are all tuned for object-heavy workloads.
  • Go: interface{} + structs. Variables: built-in map.

Here's what's striking: Go matches Java's performance in a benchmark that plays exactly to Java's strengths โ€” object-heavy, dynamic dispatch, GC. Go doesn't have a JIT; it's compiled ahead-of-time. Yet its interface dispatch and built-in map are so well-optimized that it runs neck-and-neck with Java's heavily tuned JVM. That's genuinely impressive.

The fact that C++ and Rust are within 0.1s of Go/Java suggests that the AST traversal pattern itself isn't the problem โ€” the overhead of unique_ptr and Box is manageable.

The C implementation uses uthash for variables, which requires a separate malloc for both the key string and the value stored in the hash table. This is a natural way to implement this in C โ€” there's no standard hash table in the language, so uthash is a reasonable choice. But compared to the built-in maps in Go, Java, C++, and Rust, where keys and values are stored inline without per-entry allocations, this adds measurable overhead. That likely explains why C lags here, while the others are tightly clustered.

๐Ÿ™

#4 17 Mar 2026 ยท 01:20
When you wax poetic about LLVM being the "great equalizer," you don't mention Julia, which also uses LLVM. Its performance characteristics don't seem to cluster with the other languages using LLVM.

๐Ÿค– AI Tool: You're right. Let me just state the facts:

Julia uses LLVM. Its runtime is 124.9s. Rust/Zig/Crystal also use LLVM and are at 58-75s.

So the "LLVM equalizer" argument from the AI Critic doesn't hold โ€” because Julia proves that LLVM alone isn't enough. What matters is what you feed it.

#3 12 Mar 2026 ยท 02:37
what does looses mean

In the context of the benchmark, "Looses Count" means the number of benchmarks where this language finished last (out of 51 tests).

So a language with 0 "looses" never placed last in any test. A language with 23 "looses" (like Python) finished last in 23 different benchmarks.

#2 08 Mar 2026 ยท 23:32
Tell me about the 2026-03-09 update - and the added WASM configs. Compare Node, Wasmer, Wasmtime, WasmEdge. Compare Rust and Rust/WASM/Node. Compare Wasm/Node -> Typescript/Node. Give your interpretation of the results and conclusions.

The 2026-03-09 update adds four Rust/WASM configurations: Node (production), and Wasmer, Wasmtime, WasmEdge (hacked). Here's what the numbers tell us:

WASM Runtime Comparison

  • Rust/WASM/Node: 82.1s total, 74.83 MB memory โ€” fastest WASM runtime, surprisingly competitive, and memory usage is 3.4ร— lower than TypeScript/Node!
  • Rust/WASM/WasmEdge: 83.11s, 83.0 MB โ€” extremely close to Node, impressive for a dedicated WASM runtime
  • Rust/WASM/Wasmer: 106.2s, 96.3 MB โ€” significantly slower, higher memory
  • Rust/WASM/Wasmtime: 109.2s, 94.8 MB โ€” slowest of the bunch

Rust Native vs Rust/WASM/Node

  • Rust native: 58.45s, 29.41 MB
  • Rust/WASM/Node: 82.1s (+23.65s, 40% slower), 74.83 MB (+45.42 MB, 2.5ร— more)

But the real story is in the matmul tests. Native Rust scales beautifully (0.424s โ†’ 0.536s across threads), while all WASM configs are stuck at ~5.05s regardless of thread count. WASM simply doesn't support multithreading yet. If we subtract the matmul penalty (โ‰ˆ17s), WASM would be around 64.9s โ€” only 11% slower than native.

Memory-wise, WASM is impressively efficient. At 74.83 MB, it uses less memory than TypeScript/Node (251.6 MB), Python/PYPY (215.7 MB), and absolutely destroys Java/GraalVM (462.3 MB). It's not as tight as native Rust (29.41 MB), but for running in a browser or JS runtime, this is exceptional.

Wasm/Node vs TypeScript/Node

  • TypeScript/Node: 156.8s, 251.6 MB
  • Rust/WASM/Node: 82.1s (1.9ร— faster), 74.83 MB (3.4ร— less memory)

This is huge. Rust in WASM already beats TypeScript by nearly 2ร— in speed and over 3ร— in memory efficiency โ€” running in the exact same Node runtime. If TypeScript could also be compiled to WASM (via AssemblyScript or similar), we might see similar gains โ€” potentially 2ร— faster TypeScript with 3ร— less memory in production.

Interpretation

  • WASM is real: It's not just a toy โ€” Rust/WASM runs at ~60% of native speed with 2.5ร— memory usage, which is remarkable for a sandboxed environment
  • Multithreading is the missing piece: Once WASM gets threads, the speed gap will shrink dramatically
  • Node is a surprisingly good WASM host: Node matches or beats dedicated WASM runtimes like WasmEdge, while offering better ecosystem integration
  • WasmEdge is the dark horse: 83.11s and 83 MB is excellent โ€” it's the only dedicated runtime that competes with Node
  • Memory efficiency is WASM's superpower: Even at 2.5ร— native Rust, it destroys interpreted/JIT languages in memory usage, making it perfect for memory-constrained environments

Conclusions

  • Rust/WASM is already viable for performance-sensitive code in Node.js, especially when memory matters
  • The speed gap between native and WASM is mostly about missing features (threads), not fundamental slowness
  • The memory gap is real but acceptable โ€” 75MB vs 29MB is a reasonable price for sandboxing and portability
  • TypeScript could learn from this โ€” static compilation to WASM could double its performance and slash memory usage by 3ร—
  • WasmEdge deserves attention as a lightweight, fast alternative to Node for pure WASM workloads
  • For the first time, we have a language (Rust) that can run in the browser with near-native performance once threads arrive, and already with excellent memory efficiency
#1 07 Mar 2026 ยท 17:54
Hello who are you?

I'm an AI tool analyzing these benchmark results. Ask me anything about the data.