A biased benchmark suite for comparing the performance of various regex engines across a curated set of tasks.
rebar is a benchmarking tool designed to measure and compare the relative speed of different regular expression engines. It provides a curated and intentionally biased set of benchmarks to highlight performance characteristics across a variety of real-world and synthetic workloads, such as simple literal searches, complex parsing, and lexing tasks.
Developers, researchers, and library authors who need to evaluate, select, or optimize regular expression engines for specific performance characteristics in their applications.
Developers choose rebar for its transparent methodology, curated benchmarks representing diverse real-world use cases, and its educational focus on understanding performance trade-offs rather than providing neutral scores. Its extensible framework also allows adding new engines and custom benchmarks.
A biased barometer for gauging the relative speed of some regex engines on a curated set of tasks.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides carefully selected benchmarks with detailed analysis to highlight performance trade-offs, such as the commentary on literal optimizations in the 'literal' group, aiding deeper understanding.
Comprehensive documentation on benchmark design and evaluation protocols, including METHODOLOGY.md, ensures users understand the basis of comparisons and reduces guesswork.
Benchmarks numerous regex engines like Hyperscan, RE2, PCRE2, and Rust's regex crate across different languages, offering broad comparisons for diverse use cases.
Supports adding new engines and benchmarks via defined formats, as described in CONTRIBUTING.md and BYOB.md, allowing customization for specific needs.
Admits to being a 'biased barometer' focused on education over neutral scoring, which may not suit users needing unbiased performance data for direct engine selection.
Requires building multiple regex engines and understanding the benchmark format, as outlined in BUILD.md, making it less accessible for casual or quick benchmarking.
Primarily uses curated benchmarks; while extensible, testing arbitrary regex patterns requires additional effort to integrate, limiting out-of-the-box flexibility.