Closed Spinachboul closed 5 months ago
I'm not sure I see what in these changes would actually improve performance? Can you show a benchmark and a flamegraph?
Sure! I'll do that soon
@ChrisRackauckas and @sathvikbhagavan I have drafted this PR since while benchmarking, I could only find some differences/improvements in terms of time and space I have attached a pdf describing the differences between my code and the original code. The sphere benchmarking will be done soon, withing a couple of days!! Differences table.pdf
Matrix Operations Optimization:
LinearAlgebra
functions for matrix inversion to improve efficiency.Loop Optimization:
@inbounds
and@simd
macros for loop bounds-check elimination and vectorization, respectively, to enhance performance.Calculations are reused:
Redundant Checks:
Consolidation of Functions:
_calc_gek_coeffs
function and consolidated its logic into a single function to enhance maintainability.Optimized Constructor:
Added Dimension Checking:
_check_dimension
function to ensure the input dimension matches the surrogate dimension, improving robustness.Testing yet to be performed after after appropriate review by the maintainers
@ChrisRackauckas and @sathvikbhagavan