Skip to content
Opensource internals
  • Posts

Performance

PostgreSQL Does Async I/O with io_uring: A Closed-Loop Read-Ahead Controller

Aug 27, 2026 32 min read Jay Hubbert

PostgreSQL 20’s AIO subsystem has an io_uring backend plus a read-ahead controller that doubles its look-ahead distance only when the backend actually had to wait for I/O.

PostgresPerformanceIoInternals

Read more →

tmux Redraws Only What Changed: Five Layers of Less Work

Aug 21, 2026 11 min read Jay Hubbert

tmux never redraws ’the screen’ — it redraws the difference.

TmuxPerformanceInternalsRedraw

Read more →

PostgreSQL Hashes Lookups: Dynahash and Simplehash

Aug 19, 2026 54 min read Jay Hubbert

PostgreSQL has two hash tables: dynahash grows one bucket at a time and never rehashes, while simplehash is a templated open-addressing table that resizes without rehashing a …

PostgresPerformanceInternalsStorage

Read more →

PostgreSQL Uses SIMD to Scan Strings Faster: One Vector Layer, Six Consumers

Aug 14, 2026 45 min read Jay Hubbert

PostgreSQL’s port/simd.h is a portable SSE2/NEON vector layer, and COPY FROM, hex coding, JSON escaping, ASCII validation, linear search and radix-tree lookup all use it to skip …

PostgresPerformanceSimdInternals

Read more →

PostgreSQL Locks Tables Fast: The Fast Path and Sixteen Lock Partitions

Aug 6, 2026 36 min read Jay Hubbert

Most PostgreSQL locks never touch the heavyweight lock table: weak relation locks live in a per-backend fast path, and the real lock table is split into sixteen …

PostgresPerformanceConcurrencyInternals

Read more →

← Newer Page 15 of 17 Older →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·