Open lpatiny opened 11 months ago
All modified lines are covered by tests :white_check_mark:
Comparison is base (
bde1c9a
) 71.27% compared to head (e82b2ba
) 71.28%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
The order of processing loops may be critical in order to optimize speed.
The implemented algorithms EVD, SVD, etc may assume a specific row / col or col / row order. The goal being that in the inner loops the memory is accessed sequentially.
By simply inverting the get / set in matrix (just using square matrices not to check everything) we observe major time difference (in ms)
The best improvement was observe for a SVD of 1000x1000 elements (x3 !) but the inversion can also lead to worse results like for LuDecomposition (/2 ...).
Inverted
Non inverted
This is just at the stage of reflection that could lead to some speed improvement.