Skip to content

Commit

Permalink
Add an implimentation of Tuned Boyer-Moore.
Browse files Browse the repository at this point in the history
While the existing literal string searching algorithm
leveraging memchr is quite fast, in some case more
traditional approaches still make sense. This patch
provides an implimentation of Tuned Boyer-Moore as
laid out in Fast String Searching by Hume & Sunday.
Some refinements to their work were gleened from the
grep source.

See: rust-lang#408
See: BurntSushi/ripgrep#617
  • Loading branch information
Ethan Pailes committed Dec 8, 2017
1 parent 8411e22 commit 3737f32
Show file tree
Hide file tree
Showing 3 changed files with 513 additions and 24 deletions.
2 changes: 1 addition & 1 deletion bench/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version = "0.1.0"
authors = ["The Rust Project Developers"]
license = "MIT/Apache-2.0"
repository = "https://github.com/rust-lang/regex"
documentation = "http://doc.rust-lang.org/regex/regex_syntax/index.html"
documentation = "http://doc.rust-lang.org/regex/regex/index.html"
homepage = "https://github.com/rust-lang/regex"
description = "Regex benchmarks for Rust's and other engines."
build = "build.rs"
Expand Down
2 changes: 1 addition & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ another matching engine with fixed memory requirements.
extern crate aho_corasick;
extern crate memchr;
extern crate thread_local;
#[cfg(test)] extern crate quickcheck;
#[macro_use] #[cfg(test)] extern crate quickcheck;
extern crate regex_syntax as syntax;
#[cfg(feature = "simd-accel")] extern crate simd;
extern crate utf8_ranges;
Expand Down
Loading

0 comments on commit 3737f32

Please sign in to comment.