2026-09

Technical Guide

Bundling Costs 1.58x Against ripgrep on Pass One — Wide Field Part 4: 9.77 s After That, and No Rebuild When a File Vanishes

One of them was gone. A source file behind the index I had built to search the whole pile. app.log.9.gz had ag…
Technical Guide

We Matched ripgrep’s Ignore Rules — Wide Field Part 7: 43 Checks Agree on Three OSes, and the One Rule We Refused to Copy

The counts did not match. The same directory, handed to rg --files and to my own CLI, produced two different f…
Technical Guide

12 Plain and gzip Files in One Command — Wide Field Part 1: 1.62x Behind ripgrep, Then 2.42x Ahead, and Never on Plain Text

[Update 2026-10-04] v1.7.3.6.8 made the second (hot) run faster "On five plain files, uvf is the slower side o…
Technical Guide

Searching Compressed Logs Against ugrep, ripgrep and zgrep — On Par the First Time, 0.11–0.12 s in Every Format the Second

[Update 2026-10-04] In v1.7.3.6.9, five plain files are on par too (uvf slightly ahead) "Searching several pla…
Technical Guide

3.7x Behind ripgrep, 1.9x Behind klogg — Part 13 (Final): 50 GB Search 205 s to 51.70 s, Open 100.6 s to 50.44 s

Six percent. Still behind. The first search through a 50 GB log takes ripgrep 54.9–55.8 s and takes us 59.0 s.…
Technical Guide

We Counted Newlines 1.88x Faster and the Clock Did Not Move — Part 11: 3.27 GB/s in RAM, 968 MB/s From the SSD Either Way

[Update 2026-10-04] Follow-up: on the second (hot) run, newline counting did show up on the clock This post's…
Technical Guide

Our Windows “Cold” Runs Were a Lie — Part 12: One Harness on Mac, Windows and Linux, Zero Mismatches Against ripgrep and sed

Nothing reads 10 GB in 2.65 seconds. That was the number recorded for a "cold" read of a 10 GB file on Windows…
Technical Guide

mmap Cost Us Half the Disk — Part 10: 1.9x Behind klogg Until We Split Display (mmap) From Full Reads (pread)

We were getting 57% of the disk. An external USB SSD gives 927 MB/s under dd. Read the same 50 GB file from th…
Technical Guide

Only the 3 GB File Lost to ripgrep — Part 7: The Bottleneck Was Startup Overhead, Not I/O (7 hot Runs: 11.46 s to 7.95 s)

The small file was the one losing. At 50 GB we were level with ripgrep. At 3 GB we were 1.48× slower. The smal…
Technical Guide

We Couldn’t Search a gzip at All — Part 8: The OS zlib and an 8-Byte CRC Took 50 GB From 35.65 s to 17.20 s, Level With ripgrep

Decompression turned out to be the fast part. That was the surprise in this one. We assumed inflate would be t…