feat(parser): enhance user agent parsing performance#80
Merged
BenjaminAbt merged 3 commits intomainfrom Dec 24, 2025
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR enhances user agent parsing performance through multiple optimizations: reordering detection rules by frequency and specificity, updating to newer .NET SDK and package versions, enabling Dynamic PGO, and adjusting the code coverage threshold. The changes aim to improve parsing speed by ensuring the most common user agents are matched first, reducing unnecessary iterations through the rule arrays.
Key changes:
- Reordered platform and browser detection rules by frequency and specificity for faster matching
- Updated .NET SDK to 10.0.101 and various package dependencies to latest versions
- Enabled TieredPGO and DynamicPGO for runtime performance improvements
- Reduced code coverage threshold from 100% to 96%
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/HttpUserAgentParser/HttpUserAgentStatics.cs | Reorganized platform and browser token rules arrays, prioritizing common platforms (Windows 10, Android, iOS) and specific browser tokens before generic ones |
| src/HttpUserAgentParser/HttpUserAgentParser.cs | Minor optimization already implemented - no changes in this PR's diff that need review |
| global.json | Updated .NET SDK version from preview to 10.0.101 |
| README.md | Updated benchmark results to reflect performance improvements with new SDK and optimizations |
| Directory.Packages.props | Updated multiple package dependencies to newer versions (BenchmarkDotNet, xunit, Roslyn analyzers, etc.) |
| Directory.Build.props | Added Dynamic PGO configuration and reduced code coverage threshold from 100% to 96% |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
No description provided.