Edit distance: .NET ArrayPool is 71× faster than Python textdistancePageRank on 28.5M edges: NetworkX takes 47× longer than .NET CSRInterval tree: augmented BST answers 10k queries 31× faster than PythonFull-text search: Lucene.NET handles 22× more queries/sec than WhooshDiff algorithm: preallocated DP LCS is 21× faster than difflib at 50k pairsDate parsing: DateTimeOffset is 19× faster than dateutil at 1M timestampsQR codes: QRCoder generates 50k codes 14× faster than Python qrcodeMarkdown: Markdig renders 10k documents 11× faster than mistuneTokenizer: compiled regex tokenizes 100 MB 8× faster than NLTKPDF extract: PdfPig extracts 200 papers 6× faster than pypdfSoftmax: TensorPrimitives is 1.53× faster than NumPy at Llama-3 vocab scaleEdit distance: .NET ArrayPool is 71× faster than Python textdistancePageRank on 28.5M edges: NetworkX takes 47× longer than .NET CSRInterval tree: augmented BST answers 10k queries 31× faster than PythonFull-text search: Lucene.NET handles 22× more queries/sec than WhooshDiff algorithm: preallocated DP LCS is 21× faster than difflib at 50k pairsDate parsing: DateTimeOffset is 19× faster than dateutil at 1M timestampsQR codes: QRCoder generates 50k codes 14× faster than Python qrcodeMarkdown: Markdig renders 10k documents 11× faster than mistuneTokenizer: compiled regex tokenizes 100 MB 8× faster than NLTKPDF extract: PdfPig extracts 200 papers 6× faster than pypdfSoftmax: TensorPrimitives is 1.53× faster than NumPy at Llama-3 vocab scale

.NET

.NET is seriously fast!

We rewrite the world's most popular code and show the benchmarks. Real numbers. Real wins. Sub-millisecond proof.

RECORD OF THE TIME
May 2026

CSV Processing 100M rows

stream-parse · cold start · single thread

.NET 94.1 s
Node 2289.0 s
Ruby 3.3336.0 s
82x
faster
new all-time best
TOP BENCHMARKS

Record-breaking wins.

RECENT

Latest 5 benchmarks.

Fresh runs, real numbers. Lower is better.

SIDE BY SIDE

Same job. Different worlds.

Parse a 10k-object JSON payload. Watch the gap.

.NET.NET 9 / C#
1.2 ms
1// .NET 9 — System.Text.Json (source-gen)
2using System.Text.Json;
3
4[JsonSerializable(typeof(Order[]))]
5partial class Ctx : JsonSerializerContext { }
6
7var sw = Stopwatch.StartNew();
8var orders = JsonSerializer.Deserialize(
9    json, Ctx.Default.OrderArray);
10sw.Stop();
11// 1.2 ms  •  0 allocations on hot path
PyPython 3.13
56.4 ms
1# Python 3.13 — json stdlib
2import json, time
3
4t = time.perf_counter()
5orders = json.loads(raw)
6elapsed = (time.perf_counter() - t) * 1000
7
8# 56.4 ms  •  GC pressure
9# ~47x slower than .NET 9
10# (and that's before model binding)
COMMUNITY

Developers are talking.

Submit a benchmark. Pick apart ours. Move the numbers.

AK
Alex Kovalev
Senior backend, ex-Google
12

I migrated a Python data pipeline to .NET 9 and it shaved 38 minutes off our nightly job. Source-gen JSON is unreal.

PR
Priya Raman
Indie game dev
9

AOT + NativeAOT means I ship a single 6MB binary that boots in 4ms. This site keeps proving what I tell my team daily.

MB
Marco Bianchi
Platform engineer
21

Was a Go diehard. The regex benchmark made me actually try it. Now half our edge services are .NET minimal APIs.

SL
Sara Lin
OSS maintainer
14

Submitted a Rust vs .NET image convolution PR — got merged in two days. Best community I've contributed to in years.

Milliseconds.dev

Rewriting the world's most popular code in .NET. Proving that milliseconds — and the language you pick — actually matter.

Explore
Site
© 2026 Milliseconds.dev — measured to the microsecond.
.NET 9 · BenchmarkDotNet · MIT·Designed & developed by Mo Mand