radix_plus 1.0.4
radix_plus: ^1.0.4 copied to clipboard
A high-performance, in-place Radix Sort implementation for Dart and Flutter, providing significant speed improvements over standard sorting for number lists.
Changelog #
1.0.4 #
- perf(parallel): Overhaul parallel sorting for improved performance and memory usage.
- Isolates are now spawned in parallel using
Future.waitto reduce startup overhead. radixSortParallelSignednow avoids intermediate list allocations, significantly reducing GC pressure.- Created a core
_radixSortParallelUint32engine to streamline parallel logic.
- Isolates are now spawned in parallel using
- perf(bigint): Optimize
radixSortBigIntmemory management.- The auxiliary buffer is now allocated only once, reducing GC pressure during sorting.
- Refactored and unified internal BigInt sorting functions to reduce code duplication.
- perf(utils): Enhance buffer pool logic.
- The
getmethod in buffer pools now finds the best-fit buffer (>= requested size) to increase hit rate.
- The
- style(core): Minor code cleanup using
fillRangefor array initialization.
1.0.3 #
- build(sdk): bump SDK requirement to 3.10.1
- change(package): Rename project from Radix Pulse to Radix Plus Update package name, version to 1.0.3, and repository URLs. Adjust all internal and external references. Remove outdated API documentation.
1.0.2 #
- fix(core): Resolve linting issues and refine parallel export logic
- Update benchmark documentation in README and results.md with improved methodology and new performance data.
- Add publishing metadata and topics to pubspec.yaml.
Update CHANGELOG for version 1.0.1.
- fix(core): Resolve linting issues and refine parallel export logic
- Update benchmark documentation in README and results.md with improved methodology and new performance data.
- Add publishing metadata and topics to pubspec.yaml. Update CHANGELOG for version 1.0.2.
1.0.1 #
feat(core): Introduce BigInt sorting, parallel enhancements, and perf optimizations
- Add comprehensive BigInt sorting support, including radixSortBigInt and radixSortBigIntWithRange.
- Enhance parallel sorting with radixSortParallelSigned, adaptive thread management, and k-way merge optimization.
- Introduce zero-copy sorting APIs for typed lists: radixSortFloat64, radixSortInt32, and radixSortUint32.
- Provide advanced float handling with radixSortFloat64WithNaN for NaN placement.
- Implement adaptive core algorithms that fallback to insertion sort for small lists.
- Optimize all core radix sort algorithms (int, double, BigInt) with skip passes, efficient data transformations, and improved buffer reuse for performance.
- Overhaul README.md with new sections, detailed performance benchmarks, and expanded usage examples.
- Add dedicated benchmark/results.md and update CONTRIBUTING.md links.
- Implement web-platform stub for parallel sorting functions.
- Update .gitignore to ignore example build files and add pubspec.yaml metadata.
1.0.0 #
- Initial release.