Reading up on performance
76 deep · digging since dec 05, 25
- There's no reason for software to be slow anymore
Modern hardware advances and efficient tooling eliminate any justification for sluggish software, arguing performance issues stem from avoidable developer choices.
- Saving 100 terabytes of memory by optimizing 1.1.1.1's DNS cache
Cloudflare cut over 100 terabytes of RAM used by its 1.1.1.1 DNS cache by redesigning cache layout and eviction policies without hurting query latency.
- Symmetries in boolean scans
The article shows that by exploiting symmetries of boolean scans, only three primitives (∧, <, ≠) need fast implementations to derive all others efficiently.
- Amdahl’s Law: The Speedup You Cannot Exceed – Infinite Limit
Amdahl's law shows that overall speedup is limited by the unchanged fraction of workload, with maximum speedup S_max = 1/(1−f) as component speedup → ∞.
- The Cloudflare Blog – Brought to you by EmDash
Cloudflare moved its blog to EmDash on Cloudflare Workers, added caching, redesigned the UI, and rolled out traffic gradually to boost performance and enable agent tools.
- There's no reason for software to be slow anymore
AI dramatically reduces the cost of software optimization, enabling workload-specific performance gains that were previously too expensive to pursue.
- The Mature Optimization Handbook
Carlos Bueno’s Mature Optimization Handbook argues that performance work should be measured, deferred until systems mature, and focused on the small critical fraction where gains outweigh costs.
- JP's Website · 2026-08-22 · Why aren't my two Cortex-A9 cores cache coherent?
On a Terasic DE0-Nano-SOC, two Cortex-A9 cores cannot see each other's memory writes despite enabled MMU, caches, and SCU, revealing a cache coherence failure.
- Fast and Hard Code
LLMs diminish the need to learn language specifics, letting developers choose languages like Rust and Zig for speed and size, and tackle complex low‑level projects without deep expertise.
- Critical CSS Generator - Kigo Studio
Kigo Studio’s Critical CSS Generator extracts above‑the‑fold styles, shows how to inline or defer them, and includes an HN discussion on its utility and concerns.
- Pitfalls of Benchmarking on Modern Systems
Benchmarking modern systems is unreliable due to JIT optimizations, OS scheduling, hardware variability, and environmental factors, requiring careful controls or many runs to understand true performance.
- Three ways to smuggle SQLite into Nix
The author demonstrates four methods—exec, importNative, giant Nix file, and WASM—to embed SQLite queries in Nix, comparing their speed and resource usage.
- One line of JavaScript disabled server rendering on 190 pages
A single window.innerWidth read during server render threw an error, causing Next.js to fall back to client-side rendering and produce soft 404s on ~190 pages.
- SQLite for Everything
SQLite can replace many specialized systems—search, document store, queue, cache, vector DB, etc.—by serving as a single-file, zero‑maintenance database for applications.
- Why you might want to build your WebApp in Canvas instead of HTML
The article argues that Canvas can be a better choice than HTML for web apps with complex spatial interfaces like zoomable workspaces, but warns it sacrifices accessibility and built-in browser features.
- Announcing TanStack Table V9
TanStack Table V9 introduces a tree-shakable architecture, improved performance with up to 86% less memory usage, and first-class support for ten framework adapters via TanStack Store.
- Octane — React's programming model, compiled
Octane compiles React‑style hooks, Suspense and actions ahead of time, removing the virtual DOM and hook rules while preserving familiar semantics.
- mostlyobvio.us — Curiosity reduced the heap size by 60%
By modifying OpenTelemetry's AWS SDK instrumentation to skip autoloaded services, the author cut Ruby heap usage from 163.8 MB to 67.1 MB, a ~60% reduction.
- Framework Benchmarks - Compare Frontend Frameworks
The article presents a nightly benchmark suite comparing bundle size, performance, and developer experience across major frontend frameworks to aid framework selection.
- Everyone should know SIMD
The article argues that programmers should learn SIMD techniques to improve performance in data-parallel workloads, covering basics, benefits, and practical examples.
- Do we still need build tools?
The article argues that while modern CSS and JS features reduce the need for many build tools, bundling and minification remain essential for larger projects.
- Sätteri
Sätteri combines a high-performance Rust Markdown/MDX engine with extensible JavaScript plugins to offer fast, customizable document processing for developers in web applications.
- An interactive visualization that follows a single HTTP request through its entire ~200ms life — DNS, TCP, TLS, the kernel, Node's event loop, Postgres, and back
The visualization walks through a single HTTP request's ~211 ms journey, showing DNS, TCP, TLS, kernel, Node event loop, Postgres, and rendering.
- lobste.rs is now running on SQLite
Lobsters successfully moved from MariaDB to SQLite, cutting CPU and memory use, halving VPS costs, and keeping the site responsive after migration.
- Model Routing Is Simple. Until It Isn’t.
IBM Research argues effective model routing is a systems optimization problem balancing cost, latency, and accuracy, not a simple classification task.
- How Good Is Jon Hamm at Playing Jon Hamm?
Jon Hamm's ability to parody himself on screen is evaluated as a rare skill in the tricky practice of casting celebrities as fictionalized versions of themselves.
- Reverse Engineering ChatGPT Web: How OpenAI Built for a Billion Users
OpenAI powers ChatGPT's web experience for a billion users with React Router 7 streaming SSR, Tailwind CSS, off‑the‑shelf components, and aggressive feature flagging.
- ADA Q&A: Inside the world of Cyberpunk 2077 - Discover - Apple Developer
CD PROJEKT RED discusses balancing visual fidelity and identity with performance scaling to bring Cyberpunk 2077 natively to Mac using Metal, MetalFX, and the Game Porting Toolkit.
- 14 value stocks of companies primed for rapid growth through 2028 - MarketWatch
MarketWatch identifies 14 value stocks from the Russell 1000 Value Index with high revenue growth estimates through 2028, noting value stocks tend to outperform growth during high inflation.
- Fintech Engineering Handbook
Hacker News commenters debate whether monetary values must always be stored as integers, with quants arguing floats suffice for risk modeling but transfers require exact integer precision.
- Autoresearch, Claude and Constrained Optimization
An experiment using Claude Code to autonomously optimize a file compression algorithm over 10 iterations, achieving competitive results against standard tools by iterating on an LZSS-based approach.
- Iterating faster with TypeScript 7
The VS Code team incrementally adopted TypeScript 7, a Go port of the compiler, achieving 4–7× speedups in builds and editor tooling.
- Nub — an all-in-one toolkit for Node.js
Nub is a TypeScript-first toolkit for Node.js that provides a faster npm/pnpm run, a pnpm-compatible package manager, and a Node version manager, with no lock-in.
- How OpenAI Delivers Low-Latency Voice AI for 900M Users
OpenAI splits WebRTC into a stateless relay and a stateful transceiver, using the ICE ufrag for routing to serve 900M voice AI users with low latency.
- You might not need… a service worker
Service workers are essential for offline support, push notifications, and background sync, but other use cases are often better solved with simpler alternatives like HTTP caching or server-side logic.
- I rewrote PostHog's SQL parser, 70x faster, while barely looking at the code
PostHog's engineer used parallel Claude Code sessions to rewrite their SQL parser, achieving a 70x speedup by fuzzing against the old ANTLR-based parser as an oracle.
- GitHub - aidenybai/cnfast: Fast drop in replacement for `cn`
cnfast is a drop-in replacement for tailwind-merge that merges Tailwind classes 3.8x faster on average with byte-identical output.
- Kenneth Skovhus | Moving Linear from styled‑components to StyleX
Linear is migrating its React app from styled-components to StyleX for performance and stricter styling contracts, using a custom codemod and agent-assisted workflow.
- Building an HTML-first site doubled our users overnight
Replacing a SPA with plain HTML forms and server-rendered pages unexpectedly doubled a site's users, challenging assumptions about framework necessity.
- Vite 8.1 is out!
Vite 8.1 introduces experimental bundled dev mode for faster startup in large apps, chunk import maps, Wasm ESM support, and moves toward Lightning CSS by default.
- Astro 7.0 | Astro
Astro 7.0 ships a Rust compiler, Rust-based Markdown pipeline, queue-based rendering, Vite 8 with Rolldown, advanced routing, route caching, and AI-friendly dev server modes.
- Lighthouse agentic browsing scoring
Lighthouse's Agentic Browsing category scores sites as a pass/fail ratio for machine-readiness, using audits for WebMCP, accessibility tree integrity, stability, and llms.txt.
- TypeScript Performance in TanStack Table V9
TanStack Table V9 cut TypeScript type instantiations by 62-86% between alpha.54 and beta.12 using feature maps, interfaces, variance annotations, and explicit type arguments.
- invlpg – Premature Optimization is Fun Sometimes
A developer describes optimizing a 12KB ping-monitoring ring buffer down to 4KB using bitfields and tagged unions purely for enjoyment, despite the application not being memory-constrained.
- What’s new in Python 3.15 — Python 3.15.0b2 documentation
Python 3.15 introduces PEP 810, which enables explicit lazy imports to defer module loading and improve startup performance.
- CSS vs. JavaScript
CSS animations run off the main thread so they don't freeze during JS work, but libraries like Motion use the Web Animations API to avoid that pitfall.
- Bun v1.3.14 | Bun Blog
Bun v1.3.14 ships a built-in image processing API, 7x faster warm installs, experimental HTTP/2 and HTTP/3 clients and server, rewritten fs.watch(), and many other features and fixes.
- AI inference just plays by different rules
AI inference workloads demand unprecedented concurrency and throughput, exposing cloud storage limits that require a decoupled, software-defined layer to avoid catastrophic failures.
- How React streams UI out of order and still manages to keep order
React achieves out-of-order streaming by sending resolved components as hidden divs with script tags that swap them into suspense boundaries, bypassing sequential HTML parsing.
- The end of responsive images - Piccalilli
The new `sizes="auto"` HTML attribute, combined with `loading="lazy"`, lets browsers automatically determine the best image size to request, eliminating the need for manual `sizes` calculations.
- Do you even need a database?
The article argues that for many small-scale, read-heavy, or single-user applications, flat files like JSON can outperform a full DBMS, but warns that scaling or adding write concurrency will force you to rebuild a database.
- Python 3.15's JIT is now back on track
CPython's volunteer-driven JIT project achieved 11-12% speedups on macOS AArch64 and is back on track for Python 3.15, overcoming funding loss and earlier performance setbacks.
- Alysa Liu on Dancing Her Way to Olympic Gold: ‘The Music Carries My Body’ - The New York Times
Figure skater Alysa Liu tells a dance critic that music guides her body and free-spirited approach to performing in pursuit of Olympic gold.
- Better JIT for Postgres
pg_jitter provides microsecond-level JIT compilation for PostgreSQL using alternative backends, making JIT viable for OLTP queries where LLVM's overhead is too high.
- Bad Bunny Super Bowl Halftime Review: A History Lesson Full of Puerto Rican Pride - The New York Times
Bad Bunny's Super Bowl halftime show served as a history lesson and personal tribute, showcasing Puerto Rican pride through an intimate 13-minute set.
- Thread by @OpenAIDevs on Thread Reader App – Thread Reader App
OpenAI announced 40% faster inference for GPT-5.2 and GPT-5.2-Codex through inference stack optimizations, keeping same model weights.
- Securely indexing large codebases
Cursor cuts time-to-first-query from hours to seconds on large codebases by securely reusing a teammate's prebuilt index via Merkle tree-based syncing and access proofs.
- How the Cleveland Orchestra Stays at the Top of Classical Music - The New York Times
The Cleveland Orchestra's sustained excellence results from meticulous preparation, institutional culture, and collective discipline beyond just practice.
- Can Bundler be as fast as uv?
Aaron Patterson argues Bundler can match uv's speed through design changes like parallel installation and a global cache, not just a Rust rewrite.
- Ruby Programming Language
Ruby's redesigned homepage highlights the language's fun, readable syntax, rich gem ecosystem, and supportive community through testimonials from Matz, DHH, and others.
- What's new in Ruby 4.0
Ruby 4.0 ships Christmas 2025 with a new ZJIT compiler, redesigned Ractor ports, experimental isolated namespaces via Ruby::Box, and faster object allocations.
- 100k TPS over a billion rows: the unreasonable effectiveness of SQLite
SQLite achieves over 100k transactions per second on a billion-row dataset by avoiding network overhead, though durability and HA remain trade-offs.
Takes
YOU, struggling with $83 MRR: rewrote it all in Next.js, SSR at the edge, prefetch on hover, 100 lighthouse score, 40ms TTFB from Bali to SF META employee, paid $500k / year 👇
@tibo_maker
My SEO setup so far: • sitemap.xml submitted and cleaned up • robots.txt configured • Google Search Console + Bing Webmaster connected • Meta titles and descriptions • Canonical issues fixed • Duplicate/redirect issues cleaned up • www → non-www 301 redirect fixed • Cloudflare DNS / SSL issue resolved • Internal links cleaned up • Structured data / JSON-LD added • Page speed + Core Web Vitals optimized • llms.txt + openapi.json added • Pillar pages + content clusters • Crawl depth under 4 + thin content check • Entity optimization • Quality backlinks What else am I missing?
@TeeDevh
Stagehand v4 has one mission: Destroy Playwright. Stagehand now runs INSIDE the browser, enabling the same speed as a local browser but at massive scale. If your agent uses the Playwright MCP, you'll get a 2x perf boost just by switching. http://stagehand.dev
@pk_iv
Fable one-shotted a Rust rewrite of the TerminalTextEffects Python library in 11M tokens. Startup time went from 87ms to 2ms and rendering speed is up by 9.6x. Now zero dependencies and a 3mb single exec 🤯 https://claude.ai/code/artifact/287825bc-7aad-4541-a7e7-fa4ba8d03612
@dhh
Fable just found a 15-30% memory efficiency improvement in Turbopack / Next.js, nearly autonomously. @tobi asked me today: what have been your “holy s***” moments with AI? My answer was: it’s every single week. And it’s accelerating. In fact, “WTFs/day” might just be my favorite metric for AI progress. It’s one thing to read benchmarks or stories online. It’s another to watch these machines pull engineering feats every day. 3 days ago? Sol helped us find novel vulnerabilities in some of the most audited code in the world. Today? Fable helps us ship this large optimization of a very complex Rust codebase. I just saw some results of work we’ve done to shrink binaries by 10-20x. List goes on.
@rauchg
Today we're announcing the completion of one of the largest engineering projects in the company's history: We rebuilt the X Android app from scratch It's faster, smoother and more reliable. But most of all: it will enable us to build new features at lightning speed.
@nikitabier
Today we're publicly launching Cloud Run sandboxes. Here, I start, execute, and stop 1,000 sandboxes in 5s with an average of 500ms latency:
@steren
Ghostty is now indisputably the fastest terminal emulator at IO throughput, by a very large margin. On ASCII, Unicode, and CSI tests, Ghostty is more than 2x (double!) faster than any other leading "fast" terminal. These changes are directly in libghostty, too, so everyone wins. `time cat 150MB_ascii.txt`: - Ghostty nightly: 575ms - Ghostty 1.3.2: 1.5sec - Alacritty: 1.2sec - Kitty: 1.7sec - Warp: 3.8sec - iTerm2, Terminal: stopped after 60s `time cat 150MB_unicode.txt` (mixed languages): - Ghostty nightly: 536ms - Ghostty 1.3.2: 1.22sec - Alacritty: 1.05s - Kitty: 1.35s - Warp: 3.4s - iTerm2, Terminal: stopped after 60s `DOOM-Fire-Zig` (an IO test): - Ghostty nightly: 842fps - Ghostty 1.3.2: 532fps - Kitty: 485fps - Alacritty: 593fps - Warp: 577fps - iTerm2, Terminal: 60fps (yes, 60) To quickly address the "cat speed doesn't matter" naysayers: this is a direct test of how many bytes/second you can push through a terminal. It doesn't cover just "read big file" but also "how much can a TUI do". The tests above test various shapes of inputs (plain ascii, unicode/wide chars, csi-heavy loads, etc.). IO throughput is incredibly important. Most of these improvements apply to libghostty-vt consumers too, so any libghostty-based terminals will instantly see huge throughput improvements by simply upgrading (ABI compatible). I'll cover the exact improvements in a blog post in the future. These results are the result of 6 separate optimizations.
@mitchellh
Mind boggling to me that I can make a thing faster and there's always people that ask "but why?" What kind of mentality is that? The pursuit of excellence does not need justification. Also, I find in so many cases, we can't know the impact of an improvement until we do it. For example, one I've talked about before: Ghostty's high IO throughput has enabled terminal program (emulator and TUI) fuzzing at a speed thats incomparably fast to prior solutions. This has resulted in upstream patches to resolve issues in popular projects like btop, tmux, and more. Speed enabled that anecdotally example that lifted the tides of adjacent communities that don't rely on Ghostty technology at all. I didn't predict this. Make things better because they can be better and let the results naturally play out.
@mitchellh
Sonnet 5 is here. It's worse than Opus 4.8 on nearly every benchmark... Does that mean it's useless? Absolutely not. Use it with Claude Code Dynamic Workflows! 1. /model set to Sonnet 5 2. /effort set to Ultracode 3. Any complex task will kick off a dynamic workflow This will only become more powerful when Fable is back. You'll use Fable 5 as the superintelligent advisor and Sonnet 5 as the fast and efficient implementer.
@daniel_mac8
literally this. basically just never use google fonts and you'll be miles ahead of everyone else.
@Shpigford
A 6-person team is building task-specific AI models that are 4-8x faster than anything from OpenAI or Anthropic. 500K downloads on HuggingFace. No hype. Just better engineering winning on the merits. This is what "make something people want" looks like in the model layer.
@garrytan
OK, well. I ran /autoresearch on the the liquid codebase. 53% faster combined parse+render time, 61% fewer object allocations. This is probably somewhat overfit, but there are absolutely amazing ideas in this.
@tobi
TIL adding your terminal here will greatly speed up compile times. https://t.co/pfitVPwQls pic.twitter.com/UmPKQVW2Sj
@steipete