Skip to content

Releases: appaquet/extsort-rs

v0.5.0

25 Mar 02:02
ea90e90
Compare
Choose a tag to compare
  • Breaking: The Sortable trait now returns std::io::Result on both encode
    and decode methods, exposing underlying errors.
  • Breaking: The SortedIterator iterator now returns std::io::Result<T>
    instead of T directly, allowing propagation of underlying errors.
  • Breaking change: The comparator methods or key extractor now require being
    Clone. This change should not affect most users, as closures are Clone if
    they don't capture any variables.
  • Added a new "pushed" iterator, which allows pushing new elements instead of
    consuming them through an iterator. This is particularly useful when the data is
    not readily available as an iterator.
  • Methods accepting iterators now accept IntoIterator for flexibility.

v0.4.2

05 Feb 02:24
Compare
Choose a tag to compare

[0.4.2] - 2021-02-04

Added

  • Added sort_by and sort_by_key (by @NieDzejkob #10)

v0.4.0

23 Dec 20:19
ec73795
Compare
Choose a tag to compare

Added

  • Support for parallel sorting of the in-memory buffer (see ExternalSorter::with_parallel_sort).
    This feature is not always beneficial if the in-memory buffer is not big enough for parallelism to
    have an impact, so benchmark your workload.

Changed

  • Breaking: cleaner Sortable trait (see commit)
    The trait also requires the implementer to be Send to support the new parallel sorting feature.

  • Breaking: replaced setter styles methods with builder style methods (see PR #9)

    • set_max_size is now with_segment_size
    • set_sort_dir is now with_sort_dir