套件:nim-lapper-dev(0.1.7-5)
simple, fast interval searches for nim
This package uses a binary search in a sorted list of intervals along with knowledge of the longest interval. It works when the size of the largest interval is smaller than the average distance between intervals. As that ratio of largest-size::mean-distance increases, the performance decreases. On realistic (for the author's use-case) data, this is 1000 times faster to query results and >5000 times faster to check for presence than a brute-force method.
Lapper also has a special case `seek` method when queries are expected to be in order. This method uses a cursor to indicate that start of the last search and does a linear search from that cursor to find matching intervals. This gives an additional 2-fold speedup over the `find` method.