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…
Technical Guide

We Set the Bar Before Measuring — Part 9: Dropping It From 2x to 1.5x Flipped Six of Our Own ripgrep Verdicts

1.28× is not a win. When your own tool comes out 1.28× ahead of the competition, do you get to write "faster"?…