Skip to content

Releases: glosie/interval_tree

v2.0.0

17 Jun 05:08
d2b39d1

Choose a tag to compare

Highlights

Significant performance improvements.

  • 70% reduction in memory use
  • 75% reduction in objects allocated
  • Tree construction is about 15% faster
  • Support for lazy enumeration

Potentially breaking: IntervalTree::Tree#search now returns a lazy enumerator instead of an array. As an enumerable, the APIs are laregely compatible, so this shouldn't be an issue in most cases. Calling #to_a will coerce it to an array if necessary.

What's Changed

  • add benchmark script by @glosie in #1
  • optimize tree construction by eliminating array slicing overhead by @glosie in #2
  • optimize node memory footprint using struct implementation by @glosie in #3
  • optimize search performance by caching interval minimum by @glosie in #4
  • optimize search results with lazy enumerator by @glosie in #5

New Contributors

  • @glosie made their first contribution in #1

Full Changelog: v1.0.0...v2.0.0

Release 1.0.0

12 Dec 00:01
aa85d01

Choose a tag to compare

v1.0.0

update dev dependencies