Ripgrep work stealing queue11/14/2023 ![]() ![]() So a rewrite of Ripgrep is unlikely to maintain the same speed as the original. Ripgrep makes use of Rust's regex crate, which is highly optimised. Thus, to merge to ripgrep code into GNU grep, you would have to either rewrite ripgrep in C, or rewrite GNU grep in Rust. I somehow assume -no-mmap should be the default for the 32bit version to avoid wrong results. Ripgrep is written in Rust, while GNU grep is written in C. ![]() Rg "string_in_last_line_of_big_file" bigfile.txt -debugĭEBUG|grep_regex::literal|crates\regex\src\literal.rs:58: literal prefixes detected: Literals ĭEBUG|grep_cli::decompress|crates\cli\src\decompress.rs:482: gzip: could not find executable in PATHĭEBUG|grep_cli::decompress|crates\cli\src\decompress.rs:482: bzip2: could not find executable in PATHĭEBUG|grep_cli::decompress|crates\cli\src\decompress.rs:482: xz: could not find executable in PATHĭEBUG|grep_cli::decompress|crates\cli\src\decompress.rs:482: lz4: could not find executable in PATHĭEBUG|grep_cli::decompress|crates\cli\src\decompress.rs:482: brotli: could not find executable in PATHĭEBUG|grep_cli::decompress|crates\cli\src\decompress.rs:482: zstd: could not find executable in PATHĭEBUG|grep_cli::decompress|crates\cli\src\decompress.rs:482: uncompress: could not find executable in PATH Some interesting hints about this observation: However, the previous 32bit version ripgrep-12.1.1-i686-pc-windows-msvc.zip works correctly without the -no-map option. The missing result lines are printed with the -no-mmap option. Multi-threaded search using high-performance lock-free job queue stealing - Multi-threaded task-parallel decompression and search - Optimized pattern. Yes, rg -no-mmap "string_in_last_line_of_big_file" bigfile.txt solves the issue with the 32bit version! ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |