Interlinked.

Comparisons · measured July 2026 · 7 min

ripgrep vs grep: what actually changed.

If you search code for a living, you've met both. grep has been walking Unix filesystems since 1973; ripgrep arrived in 2016 and quietly became the default inside editors, CI, and half the terminals on your team. It is faster. Genuinely, measurably. This is the honest accounting of what ripgrep improved, what it left alone, and the one wall neither can climb: on a big enough drive, both still walk the disk on every single query.

What ripgrep improved

A better walker. Not a different idea.

ripgrep earned its reputation. Where grep -r crawls a directory tree on one thread, ripgrep fans the walk out across every core. It respects your .gitignore, skips hidden and binary files by default, speaks Unicode without you setting a locale, and uses a finite-automata regex engine that can't blow up into catastrophic backtracking. On a real project tree, that stack of wins makes it several times faster than grep at the same recursive search.

One honest caveat, because it matters: on a single file or a piped stream, grep is still a tight loop of C that often ties or beats ripgrep. grep isn't obsolete: it was built for one file, and it's superb at one file. ripgrep's advantage shows up the moment you point it at a whole tree.

WHAT RIPGREP IMPROVED OVER GREPgrepripgrepSearch a whole directory tree1 coreall coresRespects .gitignore, skips hidden filesSkips binary files by defaultUnicode with no setuplocaleRegex can’t catastrophically backtrack~Raw speed on ONE file or a pipeEvery one of these makes the walk faster. Not one of them removes the walk.THE CEILING BOTH SHAREone content query · 4.47M files · log scaleDISK-WALK CEILINGevery walking tool lands here= minutes, and it grows with the drive58,625×across the five-query set10 µs1 ms1 s1 minslower →16 msInterlinked7 to 9 ms typical · never walks93.8 sripgrep= what VS Code runsgrep -rslower still

Read top-to-bottom: the ledger is every place ripgrep pulls ahead of grep. The axis below is what those wins buy you on one content query across 4.47M files: a faster walk, still under the same ceiling. Ryzen 9 9950X3D · 64 GB DDR5 · NVMe · Windows 11.

The shared ceiling, measured

Every optimization made the walk faster. None of them skipped it.

ripgrep is the best walker there is. On our 4.47-million-file volume, one content query still took it 93.8 seconds, because parallelism and skipping can shrink the walk, but the walk is still open-read-close, once per file, on every query. A purpose-built index answered the same query in 16 milliseconds; across the five-query content set the gap averaged 58,625×.

The toolWhat it does per queryOne content queryvs Interlinked
Interlinked content searchreads a live index, opens no files16 ms1× (baseline)
ripgrep (rg)parallel walk: open → scan → close, skips ignored + binary93.8 s58,625×
VS Code find-in-filesripgrep under the hood, scoped to the open folderone foldernot measured
grep -rsingle-thread walk: open → scan → close everythingslower stillnot measured

Same machine, same 4.47M-file NTFS volume: Ryzen 9 9950X3D · 64 GB DDR5 · NVMe · Windows 11. ripgrep with default settings (.gitignore respected). The 93.8 s figure is one query in a five-query content set; across the set the gap averaged 58,625×. Interlinked content search runs 7 to 9 ms typical, 16 ms for an exact phrase. grep's recursive walk wasn't timed: it does the same open-read-close with fewer tricks, so it can only land slower.

Why the wall exists

The walk is O(every file). An index is O(the answer).

Here is the shape both tools share. To answer “which files contain this string,” a walker must visit the files (open, read, scan, close) and there is no answer until it has visited enough of them. The cost scales with the size of the disk, not the size of your question. Double the files and you double the walk, every query, forever. ripgrep's parallelism divides that cost across cores; its filters trim which files count. Both are real wins. Neither changes the exponent.

A purpose-built engine does the walk exactly once, in the background, when nobody is waiting, then keeps a live index that updates as files change, so a saved edit is searchable again in about a millisecond. At query time there is no tree to crawl and no file to open. The engine consults the index and returns the matches. The walk already happened. That is the whole difference.

What changes when the walk is already done

Do the walk once. Bill every query zero.

An index sounds heavy until you measure it. It stays fresh without a re-scan, sits quietly in the background, and costs a rounding error of your drive, while turning every content query from a minutes-long walk into a lookup you don't notice.

~1 ms
from saving a file to that file being searchable again: under 30 ms in the worst case. No re-scan, no stale index.
~44 MB
the whole engine at rest, in Task Manager: less than a single browser tab, always warm in the background.
< 1%
of the drive on disk: about 24 GB of index on a 4 TB machine to make every query free.

What your agent actually runs

VS Code's search is ripgrep. So is your agent's.

When you hit find-in-files in VS Code, you're running ripgrep, scoped to your open folder, which is why it feels fast in a small repo and stalls on a big one. Your coding agent has it worse: it shells out to raw ripgrep or grep machine-wide, on every question it can't answer from memory. The ceiling that caps ripgrep caps them both, and an agent hits it dozens of times per turn.

412,000×
faster than VS Code at finding one file by name
85 µs vs 35 s
6m 57s → 16ms
Claude Code hunting one file, without then with the index
71 tool calls → 1
~58% → ~0%
of a session’s tokens spent on file search
reads it forgets a turn later
2,276,000×
a single agent lookup, once it stops walking
193.5 s → 85 µs

The filename median across 20 queries was 139 µs; the best single lookup, 2 µs. Make the query cost five to seven orders of magnitude lower and the agent stops rationing questions: it verifies every callsite, checks every import, and asks the speculative ones it used to skip. The same live index also carries short notes agents leave on files, so the next agent reads what the last one learned. Same tools. A floor that answers first.

Give your tools the floor they stand on

Keep grep. Keep ripgrep.

1

Install once. One signed installer wires up 19 AI clients: Claude Code, Cursor, Copilot, Codex, Windsurf, Zed and the rest. No JSON to edit.

2

Keep your tools. grep and ripgrep stay exactly where they are. The index just answers first: machine-wide, in the microsecond range, on the queries a walk would spend minutes on.

3

Let it stay fresh. Save a file and it’s searchable again in about a millisecond. At rest the whole engine sits around 44 MB and the index takes under 1% of the drive.

Everything local is free forever, on all your devices, no card. Hosting starts at $5.99/mo. Download for Windows.

Measured July 2026 · Ryzen 9 9950X3D · 4.47M files · ripgrep 14 · Windows 11← All research