December 2, 2025
TPS Report: Office Space IRL
100000 TPS over a billion rows: the unreasonable effectiveness of SQLite
SQLite hits 100k TPS on a laptop; comments erupt over single-machine limits
TLDR: SQLite hits 100,000 transactions per second on a billion rows on a single laptop. Comments split: fans love the speed; skeptics say it's single-machine only, raise write‑ahead log corruption worries, and demand real production stories—making this a debate about when a simple tool beats a big server.
SQLite just pulled a stunt: 100,000 transactions per second on a billion rows, all from a 2021 MacBook Pro. The author claims the “single writer” and embedded setup aren’t bugs—they’re superpowers. The crowd? Torn between awe and side-eye. The vibes swung from “wow, it’s fast” to “but is this fair?” fast.
One camp cheered the simplicity—no network database, fewer moving parts, real-world interactive transactions (the kind with multiple steps like “take money from Alice, give to Bob”). Another camp brought the popcorn and the skepticism. “This assumes everything fits on one machine,” warned one commenter, then flexed a cloud box with 24TB memory like a muscle car. Someone else fired the classic Office Space meme—“TPS Report”—then asked the scary question: is there a fix for write-ahead log (WAL) corruption? They even dropped a link to past drama.
The spiciest moment? A blunt “No, it does not” to the claim this proves network databases (like Postgres) get stuck by design. Others pleaded for production war stories instead of lab demos. And the word-nerd squad chimed in: can we call it “surprising” instead of “unreasonable”? The result felt like a cage match: one fast file vs. the big database server—and the comments stole the show.
Key Points
- •The article contends SQLite’s embedded, single-writer design can yield high TPS for interactive web-style transactions.
- •TPS is defined as interactive transactions per second, involving multiple SQL operations and application logic within a single transaction.
- •A Clojure benchmark harness uses Java virtual threads to simulate high-burst concurrency across many transactional requests.
- •PostgreSQL is configured as a network database with HikariCP; SQLite uses WAL and performance-oriented pragmas with a single writer and multiple readers.
- •Both databases share a simple account schema and are populated with one billion rows using batched inserts on a 2021 MacBook Pro (Apple M1 Pro, 16 GB RAM).