Skip to content

Performance release

Compare
Choose a tag to compare
@zeux zeux released this 15 Nov 16:24
· 42 commits to master since this release

This change brings performance improvements, various fixes and a new interactive command.

Performance improvements:

  • Build throughput is now ~40% faster through a combination of compression and file processing tuning
  • Regex-heavy searches are now noticeably faster on high core count machines on Windows due to use of SRW locks
  • Searches are now ~50% faster on ARM due to LZ4 decompression improvements and SIMD tuning

Note: macOS binaries published with this release use x64 architecture; for optimal performance on macOS, using a binary built from source is advised.

New features:

  • CE flag can be used to output match column range (both start and end)
  • qgrep interactive <project> now launches an interactive session where search <expression> can be used multiple times; the same process also acts as an update watcher, similarly to qgrep watch

Fixes:

  • Fix an occasional assertion in buildAppendFilePart during building
  • Case folding has been fixed to leave Unicode characters in tact and improve case insensitive searches for Unicode characters
  • Fix treatment of full drive-based paths on Windows as project paths

Thanks @ivzhh, @vegorov-rbx, @MRWITEK and @NightRa for their help with this release!