Added Benchmark project comparing performance of 3.1.0 vs 3.2.0 (encode and decode)#45
Open
loudenvier wants to merge 12 commits intosqids:mainfrom
Open
Added Benchmark project comparing performance of 3.1.0 vs 3.2.0 (encode and decode)#45loudenvier wants to merge 12 commits intosqids:mainfrom
loudenvier wants to merge 12 commits intosqids:mainfrom
Conversation
Added support for all integral types in legacy frameworks.
…urce generation Introduces an incremental source generator for SqidsEncoder that adds overloads supporting all integral types on legacy frameworks. Updates README with usage details, adds new tests for legacy encoding/decoding, and wires up the code generation project in the solution and main project. This enables drop-in support for byte, sbyte, short, ushort, int, uint, long, and ulong encoding/decoding in .NET Standard 2.0 (.NET Framework 4.7.2+) and .NET 6 environments. Extreme care was taken to avoid structural and code changes to the SqidsEncoder class (even comments were kept where they were, as a diff will show) to make it easy to keep it up to date with the main Sqids project if a PR is not accepted.
Updated the GitHub Actions workflow to run on Windows and added support for multiple .NET versions.
Updated the .NET workflow to install multiple .NET versions and simplified the setup steps.
Introduces a new Sqids.Benchmarks project to the solution for performance testing. Includes a custom BenchmarkDotNet config and custom project variables that allow referencing the old and new versions of the package conditionally, and also allow to create conditional code based on these variables to properly compare performance across versions of the package.
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.
This PR introduces a new
Sqids.Benchmarksproject to the solution, providing initial performance benchmarks for both encoding and decoding operations.Key Details
int.MaxValue, using eitherintorlongdepending on availability oflongsupport:Results
Notes