Interlinked.

Methodology / Apr 9 2026 / 7 min

Eighteen queries.
Zero cherry-picking.

Speed depends on the query shape. A benchmark that reports one number without specifying what was searched is marketing, not research. This is the full set.

< 50µs3 queries50-100µs4 queries100-200µs5 queries200-300µs4 queries400µs+2 queriesFAST (<100µS)TYPICALSTRESS TEST

TL;DR / Key takeaways

The whole benchmark, in five lines.

  • 01The headline query “iron man” returns in 85 µs, a realistic two-word search, deliberately neither the fastest nor the slowest query on the drive.
  • 02Across the full set the median lands near 139 µs: every query shape (short, long, common, unique, wildcard, glob, or pathological) resolves inside the same sub-millisecond bracket.
  • 03Nothing is cherry-picked. All eighteen queries are published with their shapes, best case to worst, as the receipt behind the headline number.
  • 04Every measurement is wall clock from query to first result across 4.47 million real files on one machine (a Ryzen 9 9950X3D), so any reader can reproduce it.
  • 05The predictability is the product: when the floor and the ceiling both sit below human perception, search stops feeling “fast” and simply feels instant.

Headline query

85µs

“iron man”, realistic two-word query

Worst case

503µs

single letter “a”, still half a millisecond

Best case

14µs

"auth", cache-hot

Median

130µs

tsconfig, 3,400 hits

Spread

36×

Best to worst ratio

Drive size

4.47M

Files on the test drive

The full set

Eighteen queries, one drive, one engine.

All times are wall clock from query submission to first result on the caller thread. Measured on the same 4.47M file drive. Sorted by latency. Click column headers to re-sort.

QueryLatencyShapeCategory
auth14 µsShort substring, cache-hotBest case
2025-vacation38 µsDistinctive personal folderNear-unique token
avatar45 µsShort unique tokenLow hit count
main.rs67 µsRust entry pointsExtension filter
invoice74 µsModerate hit countBusiness query
iron man85 µsMovie file, unique two-wordThe headline query
layout.tsx91 µsNext.js route filesFramework-specific
*.zig103 µsWildcard extension filterGlob pattern
tsconfig130 µsCommon prefix, ~3,400 hitsThe median
package.json149 µsCommon config file, 5,200 hitsHigh hit count
photo156 µsCommon word, many hitsConsumer query
docker-compose178 µsHyphenated nameDevOps query
readme.md198 µsVery common, ~8,100 hitsDocumentation
.env221 µsDotfile, many hitsConfig pattern
backup267 µsMany hits across the driveBroad match
src/**/index.ts284 µsDeep glob patternRecursive glob
node_modules412 µsHundreds of thousands of pathsStress test
a503 µsSingle character, worst caseAdversarial

The highlighted row is iron man, the query we quote in headlines. Not the fastest. Not the slowest. The one that looks most like what a real person types.

14 µs to 503 µs. The entire distribution fits inside half a millisecond.

Below human perception at every point.

The canonical headline

Why “iron man” is the honest one.

Query benchmarks tend to err in one of two directions. They either pick their absolute best number (some tiny, cache-hot substring that makes the engine look superhuman) or they pick some absurd pathological case and report it as typical. We do neither.

“iron man” is a two-word substring. It matches exactly one file, a video from a personal folder. Distinctive enough that no one else would type it, common enough that it represents the kind of half-remembered query a real user throws into a search box at 3 PM. Not the fastest. Not the slowest. The most realistic.

When we say 85 µs, we mean 85 µs for this specific query shape. When we say 212 µs median, we mean the median of all eighteen queries above. Both numbers are honest. Both are reproducible. The rest of the table is the receipt.

#1 Best case

14 µs

“auth”, but too good to headline

Headline

85 µs

“iron man”, realistic, honest

Worst case

503 µs

“a”, adversarial, still sub-ms

The worst case

503 microseconds for the letter “a.”

Nobody wants every file whose name contains “a.” But type-as-you-go fires on every keystroke. So we measure it anyway.

QueryLatencyWhy it's hard
a503 µsSingle character: matches virtually everything on the drive
node_modules412 µsHundreds of thousands of directory entries
src/**/index.ts284 µsRecursive glob: full tree traversal of the index
backup267 µsBroad substring match: hits scattered across the drive

The “worst” case being half a millisecond is the difference between the indexed engine category and the walker category. When your worst case is below perceptible latency, you're no longer optimizing the experience: you're optimizing the floor. The user has nothing to notice.

212µs

Median of all 18 queries. On 4.47 million files.
Every query shape lands in the same bracket.

The distribution

Every query shape lands in the same bracket.

The interesting thing about this data set isn't the fastest number or the slowest: it's the tightness of the spread. Every query, no matter how short, long, common, unique, wildcard, glob, or pathological, lands somewhere between 14 µs and 503 µs. That's a spread of about 36× across the most adversarial range of queries we could think up.

Compare that to a filesystem walker, which spans from “found it immediately because I was in the right folder” to “still walking after five minutes.” A walker's worst case is thousands of times its best. An indexed engine's worst case is tens of times its best.

The predictability is the product. When the floor and the ceiling are both below human perception, the user stops thinking about speed entirely. Search becomes instant. Not “fast”: the word doesn't even come up. It just works.

When we headline iron man, we're not hiding. We're picking the query that looks most like what a person actually types. The rest of the table is the receipt.

FAQ / Common questions

Questions about the numbers.

QWhy headline “iron man” instead of the fastest query?

Because it is the most honest choice. It is a distinctive two-word substring matching a single file (the kind of half-remembered thing a real person types) so its 85 µs reflects everyday use rather than a cache-hot best case or an adversarial worst case.

QHow were the benchmarks measured?

Wall clock from query submission to first result on the caller thread, on one 4.47 million file NTFS drive running on a Ryzen 9 9950X3D. All eighteen queries are published with their shapes. Nothing is hidden.

QHow does this compare to the tools I already use?

On the same machine, whole-machine filename search runs about 412,000× faster than VS Code and roughly 480,000× faster than Windows Search, which took 67 s. Content search returns in 7 to 9 ms; a query that costs ripgrep a 93.8 s cold scan resolves in about 16 ms once indexed, around 58,625× faster.

QDoes searching this fast cost memory or constant re-indexing?

No. The index idles at about 44 MB and stays current as files change, with freshness on the order of 1 ms: results reflect the disk as it is now, with no manual rescan.

QWhat does Interlinked Files cost?

Everything (the desktop app and the MCP integration for Claude Code, Cursor, Codex and other clients) is free forever, no card. Hosting starts at $5.99/mo.

No cherry-picked numbers. No hidden worst cases. Just 18 queries and a table.

Reproducible. Open. Honest.

All measurements taken on a Ryzen 9 9950X3D, 64 GB DDR5, 4.47 million file NTFS drive. Wall clock from query submission to first result. April 2026.