Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Performance enhancements and bug fixes for Parlay
- Added interface for uninitialized relocation. Relocation is an optimized operation for swapping an object into uninitialized memory and leaving the source uninitialized. In particular, it should provide performance improvements for algorithms that frequently move non-trivial types, such as sorting a sequence of sequences. - Added delayed_tabulate primitive, which creates a delayed_sequence from the given generator function object without needing to specify either the type of the elements or the type of the function object - Added delayed_map as an alias for dmap. - Reworked uninitialized memory debugging tests - Sample sort now has a proper in place version that makes no copies - Benchmarks now build with -march=native by default - Sequence factory from_function now always elides the return value instead of copying or moving - Fixed bug in delayed_sequence iterators - Added lacking unit tests for counting_sort and delayed_sequence, and more unit tests for integer_sort and sample_sort
- Loading branch information