Skip to content
Opensource internals
  • Posts

Performance

PostgreSQL Defers and Speeds Up Tuple Deformation: Cached Offsets in TupleDesc

Jul 28, 2026 36 min read Jay Hubbert

TupleDesc now caches the byte offset of every fixed-width attribute, so fetching column 40 of a wide table can cost one addition instead of a full re-walk.

PostgresPerformanceStorageInternals

Read more →

PostgreSQL Sorts Rows Fast: Abbreviated Keys, Radix Sort, and Top-N Heaps

Jul 25, 2026 45 min read Jay Hubbert

PostgreSQL’s sorter attacks three problems at once: abbreviated keys make string comparisons into integer compares, a radix sort handles integer keys, and a bounded heap makes …

PostgresPerformanceSortInternals

Read more →

PostgreSQL Skip Scans B-Tree Indexes: Reading a Non-Leading Column

Jul 22, 2026 33 min read Jay Hubbert

PostgreSQL 18’s skip scan lets an index on (a, b) answer a query on b alone by procedurally generating the possible a values at scan time.

PostgresPerformanceBtreeIndexInternals

Read more →

tmux Stores Grid Cells in Five Bytes

Jul 22, 2026 8 min read Jay Hubbert

tmux splits a grid cell into two representations: a fat 32-byte in-memory form and a packed 5-byte stored form.

TmuxPerformanceInternalsMemory

Read more →

CPython's Cache of Small Integers: 1030 Immortal Objects

May 2, 2026 5 min read Jay Hubbert

Every int from -5 to 1024 is allocated once at startup and marked immortal, so a = 1; b = 1; a is b is True by construction — not by accident of the language.

PythonCpythonInternalsPerformanceIntegers

Read more →

← Newer Page 16 of 17 Older →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·