I'm pretty disappointed by the performance of regex sets. They are apparently spending a lot of their time in construction of the DFA, which probably means that the DFA is just too big. It turns out that it's actually faster to build an *additional* normal regex with the alternation of every glob and use it as a first-pass filter over every file path. If there's a match, only then do we try the more expensive RegexSet.
41 lines
944 B
TOML
41 lines
944 B
TOML
[package]
|
|
publish = false
|
|
name = "xrep"
|
|
version = "0.1.0" #:version
|
|
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
|
description = """
|
|
Line oriented search tool using Rust's regex library.
|
|
"""
|
|
documentation = "https://github.com/BurntSushi/xrep"
|
|
homepage = "https://github.com/BurntSushi/xrep"
|
|
repository = "https://github.com/BurntSushi/xrep"
|
|
readme = "README.md"
|
|
keywords = ["regex", "grep", "egrep", "search", "pattern"]
|
|
license = "Unlicense/MIT"
|
|
|
|
[[bin]]
|
|
bench = false
|
|
path = "src/main.rs"
|
|
name = "xrep"
|
|
|
|
[dependencies]
|
|
docopt = "0.6"
|
|
grep = { version = "0.1", path = "grep" }
|
|
memchr = "0.1"
|
|
memmap = "0.2"
|
|
num_cpus = "1"
|
|
regex = { version = "0.1", path = "/home/andrew/rust/regex" }
|
|
regex-syntax = { version = "0.3.1", path = "/home/andrew/rust/regex/regex-syntax" }
|
|
rustc-serialize = "0.3"
|
|
walkdir = "0.1"
|
|
|
|
[features]
|
|
simd-accel = ["regex/simd-accel"]
|
|
|
|
[dev-dependencies]
|
|
glob = "0.2"
|
|
lazy_static = "0.2"
|
|
|
|
[profile.release]
|
|
debug = true
|