All Versions
84
Latest Version
Avg Release Cycle
45 days
Latest Release
853 days ago
Changelog History
Page 9
Changelog History
Page 9
-
v0.1.68 Changes
- PR #210:
Fixed a performance bug in
bytes::Regex::replace
whereextend
was used instead ofextend_from_slice
. - PR #211: Fixed a bug in the handling of word boundaries in the DFA.
- PR #213: Added RE2 and Tcl to the benchmark harness. Also added a CLI utility from running regexes using any of the following regex engines: PCRE1, PCRE2, Oniguruma, RE2, Tcl and of course Rust's own regexes.
- PR #210:
Fixed a performance bug in
-
v0.1.67 Changes
- PR #201:
Fix undefined behavior in the
regex!
compiler plugin macro. - PR #205: More improvements to DFA performance. Competitive with RE2. See PR for benchmarks.
- PR #209:
Release 0.1.66 was semver incompatible since it required a newer version
of Rust than previous releases. This PR fixes that. (And
0.1.66
was yanked.)
- PR #201:
Fix undefined behavior in the
-
v0.1.66 Changes
- ๐ Speculative support for Unicode word boundaries was added to the DFA. This should remove the last common case that disqualified use of the DFA.
- An optimization that scanned for suffix literals and then matched the regular
expression in reverse was removed because it had worst case quadratic time
complexity. It was replaced with a more limited optimization where, given any
regex of the form
re$
, it will be matched in reverse from the end of the haystack. - PR #202:
The inner loop of the DFA was heavily optimized to improve cache locality
and reduce the overall number of instructions run on each iteration. This
represents the first use of
unsafe
inregex
(to elide bounds checks). - PR #200:
Use of the
mempool
crate (which used thread local storage) was replaced with a faster version of a similar API in @Amanieu'sthread_local
crate. It should reduce contention when using a regex from multiple threads simultaneously. - PCRE2 JIT benchmarks were added. A benchmark comparison can be found here. (Includes a comparison with PCRE1's JIT and Oniguruma.)
- A bug where word boundaries weren't being matched correctly in the DFA was
fixed. This only affected use of
bytes::Regex
. - #160:
Captures
now has aDebug
impl.