Skip to content

Performance refactor of v6.0#115

Open
vkomenda wants to merge 8 commits intorust-rse:masterfrom
vkomenda:perf-refactor-6.0
Open

Performance refactor of v6.0#115
vkomenda wants to merge 8 commits intorust-rse:masterfrom
vkomenda:perf-refactor-6.0

Conversation

@vkomenda
Copy link

@vkomenda vkomenda commented Dec 11, 2025

Functional changes

  • Replaced a redundant computation M · 1/M in ReedSolomon::new with the identity matrix when the encoder matrix is constructed.
  • Pruned and streamlined ReedSolomon::reconstruct leading to reconstruct benchmark improvement.
  • Swapped row-column accesses during coefficient application in ReedSolomon::code_some_slices to improve cache locality and to reduce the number of conditional jumps.
  • Simplified the implementation of Gaussian elimination while maintaining functional equivalence.
  • Within Gaussian elimination, used an asymptotically faster safe Rust primitive for row swapping.

Interface changes

  • Crate dependencies have been updated.
  • Some previously pub functions in matrix.rs are made private because they are not used outside of that module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant