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.
This PR adds a new benchmark project which utilizes BenchmarkDotNet for precise and repeatable results. I adjusted test cases from this blog post to create presentation of areas.
I have diff tools that I can use to show performance changes between master and proposed optimization.
You can run the benchmarks by simply running the benchmarks project using
Release
configuration. It will as what benchmark(s) to run.My first PR will tackle the
LargeExcelFileBenchmark.Evaluate
which is obviously the worst case at the moment as it takes over a minute to complete on my desktop.Current results
NPOI.Benchmarks.LargeExcelFileBenchmark
NPOI.Benchmarks.RangeValuesBenchmark