optimize: Remove unnecessary array allocation in polynomial interpola… #1393
+2
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR optimizes the polynomial interpolation implementation by removing unnecessary memory allocation and computation in the computeDeltaAtNaive function.
The optimization removes an unnecessary array allocation and pre-computation loop that stored (at - i) values, instead computing these values directly when needed. This change maintains the same mathematical functionality while reducing memory usage and improving code clarity.
Fixes # (no specific issue number)
Type of change
How has this been tested?
The existing test suite should cover this change since it's an optimization that maintains the same mathematical functionality. The function's behavior remains identical - it still computes the same Lagrange basis polynomials, just more efficiently.
The changes affect only the internal implementation details:
How has this been benchmarked?
The optimization primarily affects memory allocation and loop efficiency. Here are the relevant benchmarks:
Note: Specific hardware benchmarks can be added after running the benchmarking suite on different platforms.
Checklist:
golangci-lint
does not output errors locally