radix_plus 1.0.4 copy "radix_plus: ^1.0.4" to clipboard
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.wait to reduce startup overhead.
    • radixSortParallelSigned now avoids intermediate list allocations, significantly reducing GC pressure.
    • Created a core _radixSortParallelUint32 engine to streamline parallel logic.
  • perf(bigint): Optimize radixSortBigInt memory 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 get method in buffer pools now finds the best-fit buffer (>= requested size) to increase hit rate.
  • style(core): Minor code cleanup using fillRange for 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.
0
likes
160
points
152
downloads

Publisher

unverified uploader

Weekly Downloads

A high-performance, in-place Radix Sort implementation for Dart and Flutter, providing significant speed improvements over standard sorting for number lists.

Repository (GitHub)
View/report issues
Contributing

Topics

#sort #radix-sort #algorithm #flutter #dart

Documentation

API reference

License

GPL-3.0 (license)

More

Packages that depend on radix_plus