Closed natecook1000 closed 4 months ago
@swift-ci Please test
@swift-ci Please test
@swift-ci Please test
Benchmark metrics of the improvements:
firstRange(of:)
ranges(of:)
replacing(_:with:)
split(separator:)
Updated the algorithm to skip calculating the bad-character offset table when the pattern is very short, since the benefit of skipping is reduced. Updated benchmarks:
firstRange
ranges
replacing
split
@swift-ci Please test
@swift-ci Please test
@swift-ci Please test
This adds a Boyer-Moore substring search algorithm, and updates the
firstRange(of:)
,ranges(of:)
,split(...)
, andreplacing
methods to use that when both pieces of the search are strings/substrings.