Add benchmark results and update gitignore for BenchmarkDotNet#8
Open
Add benchmark results and update gitignore for BenchmarkDotNet#8
Conversation
Run BenchmarkDotNet across .NET 8.0, 9.0, and 10.0 and include the full results table showing performance and memory allocation for all mapping strategies and column access patterns. https://claude.ai/code/session_01Rjb1M2pVWrVUJJeyuL4VkN
Prevent benchmark output artifacts from being tracked by git. https://claude.ai/code/session_01Rjb1M2pVWrVUJJeyuL4VkN
…enchmarks - Replace Lazy<Dictionary> with FrozenDictionary for column name lookups, providing optimized hashing and eliminating volatile reads on every access - Use FrozenDictionary.AlternateLookup<ReadOnlySpan<char>> for allocation-free string lookups in GetOrdinal (NET9_0_OR_GREATER) - Fix IsDBNull double-evaluation bug that invoked the value getter twice - Use Span-based iteration in GetValues for improved bounds check elimination - Remove .NET 8.0 and .NET 9.0 from benchmark target runtimes - Update README with .NET 10-only benchmark results https://claude.ai/code/session_01Rjb1M2pVWrVUJJeyuL4VkN
- Remove net8.0 target from library and test projects (minimum is now net9.0) - Remove all #if NET9_0_OR_GREATER guards since net9.0 is the floor; FrozenDictionary and AlternateLookup are now used unconditionally - Restore .NET 9 runtime in the benchmark project alongside .NET 10 - Update README to reflect supported frameworks https://claude.ai/code/session_01Rjb1M2pVWrVUJJeyuL4VkN
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
This PR adds comprehensive benchmark results to the README and updates the gitignore to exclude BenchmarkDotNet artifacts.
Key Changes
Documentation: Added a "Results" section to README.md containing:
Build Configuration: Updated
.gitignoreto excludeBenchmarkDotNet.Artifacts/directory generated during benchmark runsNotable Details
The benchmark results demonstrate performance characteristics across multiple .NET versions, showing that column index access is generally faster than column name access, and that caching mapping strategies provides consistent performance benefits across all tested runtimes.
https://claude.ai/code/session_01Rjb1M2pVWrVUJJeyuL4VkN