Skip to content

v2.3.0

Latest

Choose a tag to compare

@davidesantangelo davidesantangelo released this 15 Apr 12:27

What's Changed

Full Changelog: v2.2.0...v2.3.0

Performance

  • Line-aligned chunk splitting for -c mode: worker threads now split files on newline boundaries when counting matching lines, ensuring each line belongs to exactly one worker. This eliminates inaccurate counts at chunk boundaries and avoids rescanning overlap bytes.
  • Faster short-pattern line counting: in -c (count lines) mode with short literal patterns, the scalar memchr-based search is now preferred over the SIMD path for lower setup overhead per matching line.
  • New helper advance_to_next_line_boundary() for efficient newline-aligned offset advancing.

Build

  • Removed -ffast-math from default CFLAGS for improved floating-point standards compliance.

CI

  • Added toolchain info step (cc --version, make --version) to CI builds.
  • Added benchmark smoke test on ubuntu-latest: downloads a sample subtitle corpus and runs benchmark_krep_vs_rg.sh with RUNS=1.
  • Installs ripgrep on Ubuntu runners when not already present.

Tests

  • New test_multithread_only_matching_consistency test: verifies that single-threaded and multi-threaded -o (only-matching) output produce identical match counts on a large generated file.

Docs

  • Generalized UI/version wording in README.