The Python-based implementation efficiently deals with many intervals.
Test numpy random integers, see benchmarking
| Library | Function | Time (µs) |
|---|---|---|
| ncls | single overlap | 916 |
| quicksect | single overlap | 1050 |
| pandas | single overlap | 94 |
| ailist | single overlap | 30 |
As of conducting these benchmarks, only ncls and ailist have bulk query functions.
| Library | Function | Time (s) | Max Memory (GB) |
|---|---|---|---|
| ncls | bulk overlap | ~79 | >50 |
| ailist | bulk overlap | ~5.4 | ~9 |
Querying intervals is much faster and more efficient with ailist