Skip to content

ripgrep — Trivia & Interesting Facts

Surprising, historical, and little-known facts about ripgrep.


ripgrep was created by Andrew Gallant (BurntSushi) and first released in 2016

Andrew Gallant, known by his GitHub handle BurntSushi, released ripgrep in September 2016. He's also the author of the Rust regex crate, the csv crate, and the toml crate — foundational Rust libraries used by thousands of projects. His deep expertise in regex implementation directly influenced ripgrep's performance characteristics.


ripgrep is faster than grep, ag, ack, git grep, and ucg in most benchmarks

In Andrew Gallant's comprehensive benchmarks, ripgrep consistently outperforms every major code search tool. The speed comes from several sources: Rust's zero-cost abstractions, SIMD-accelerated literal string matching via the memchr crate, parallel directory traversal, and automatic gitignore-aware filtering that avoids searching irrelevant files. In some benchmarks, ripgrep is 5-10x faster than GNU grep.


ripgrep respects .gitignore by default, which is secretly its biggest feature

By default, ripgrep reads .gitignore, .ignore, and .rgignore files and skips matching paths. This means it automatically avoids searching node_modules/, vendor/, build artifacts, and binary files — directories that make other search tools painfully slow. This single default behavior is why ripgrep "feels" so much faster than grep in real-world use, beyond its raw algorithmic speed.


The Rust regex crate that powers ripgrep guarantees linear-time matching

Unlike PCRE (used by grep -P) and most other regex engines, Rust's regex crate uses a finite automaton approach that guarantees O(n) matching time — no catastrophic backtracking is possible. This means a pathological regex like (a+)+$ against a long non-matching string completes in milliseconds with ripgrep but can hang grep for hours. This property is critical for searching untrusted input at scale.


VS Code uses ripgrep as its built-in search engine

Microsoft's Visual Studio Code adopted ripgrep as the backend for its workspace search functionality (Ctrl+Shift+F) in 2017. This means millions of developers use ripgrep daily without knowing it. The VS Code team chose ripgrep specifically for its speed, cross-platform support, and gitignore-aware filtering. It's bundled as a binary inside the VS Code installation.


ripgrep can search compressed files and handle 20+ text encodings

ripgrep supports searching inside gzip, bzip2, xz, lz4, and zstd compressed files via the --search-zip flag. It also handles automatic encoding detection for UTF-8, UTF-16, Latin-1, and other encodings. These features make it practical for searching log files (often gzipped) and international codebases without manual preprocessing.


The --json output mode makes ripgrep a building block for other tools

ripgrep's --json flag outputs structured JSON for every match, including file path, line number, column offsets, and match contents. This makes ripgrep composable with other tools — you can pipe JSON output through jq, feed it into custom analysis scripts, or integrate it into editor plugins. This design philosophy (Unix tool as building block) is why ripgrep has been adopted by so many editors and IDEs.


ripgrep's memory-mapped I/O is disabled by default because it's often slower

Counter-intuitively, memory-mapped file I/O (mmap) is not always faster than regular read() calls for sequential file scanning. ripgrep defaults to regular reads because mmap has overhead for page fault handling and TLB pressure. The --mmap flag exists for cases where it helps (very large files, warm page cache), but benchmarks showed that regular reads were faster in the common case of scanning many small-to-medium files.


Andrew Gallant wrote a 10,000-word blog post explaining ripgrep's design decisions

When ripgrep was released, Gallant published an extraordinarily detailed blog post explaining every major design decision, benchmark methodology, and performance technique. The post covered SIMD optimizations, the tradeoffs between DFA and NFA regex engines, directory traversal strategies, and why certain counterintuitive defaults were chosen. It's one of the best pieces of technical writing about tool design ever published.


As of 2025, ripgrep is among the top 5 most-starred Rust projects on GitHub. Its success helped demonstrate that Rust could produce user-facing tools that people actually want to use, not just systems libraries. ripgrep, along with tools like fd, bat, and exa, spawned a wave of Rust-based CLI tool rewrites that collectively modernized the Unix command-line experience.