[Core][Benchmark] Add benchmarks for Table
GetValue
and GetDerivative
#13497
+118
−0
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 introduces performance benchmarks for the
Table::GetValue
andTable::GetDerivative
methods.The benchmarks are designed to measure the performance of these functions across various table sizes: 5, 10, 20, 200, 2000, and 20000 elements.
For each test:
Table<double, double>
is populated with sorted data, where X values arei*0.1
and Y values include a small sinusoidal variation.GetValue
orGetDerivative
method is called repeatedly with these lookup values.volatile
is used for the sum of results to prevent the compiler from optimizing away the core lookup operations.These benchmarks will help in monitoring and improving the performance characteristics of the
Table
class. (My experiments have been futile, but the benchmark is OK)🆕 Changelog
Table
GetValue
andGetDerivative