Closed jonessha closed 1 year ago
is the performance high enough to update the number within the readme ?
is the performance high enough to update the number within the readme ?
The performance improvement is just during machine creation, but not during matching. I don't think we have machine creation latency numbers in the README?
oh you're right. Odd that we don't have a benchmark for this. Feels like a miss. Worth an issue?
oh you're right. Odd that we don't have a benchmark for this. Feels like a miss. Worth an issue?
Description of changes:
Main strategy was turning SingleByteTransition into an Iterable of itself, and then changing many methods that returned Sets to return Iterables, so that in the n=1 case, we can return a SingleByteTransition instead of a single-element set and avoid the set creation. Also, revised updateTransition in ByteMap to work on the same TreeMap instead of creating a replacement.
In my testing, this gives up to a 25% reduction in GC activity, and a 50% reduction in machine creation latency at p99.9.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.