Skip to content

fix: add user agent fix and test cases for Opera on Android#96

Merged
BenjaminAbt merged 1 commit intomainfrom
feature/fix-opera-android-issue95
Mar 5, 2026
Merged

fix: add user agent fix and test cases for Opera on Android#96
BenjaminAbt merged 1 commit intomainfrom
feature/fix-opera-android-issue95

Conversation

@BenjaminAbt
Copy link
Member

@BenjaminAbt BenjaminAbt commented Mar 5, 2026

Benchmark Parse

| Method | Job       | Runtime   | Mean     | Error     | StdDev    | Gen0   | Allocated |
|------- |---------- |---------- |---------:|----------:|----------:|-------:|----------:|
| Parse  | .NET 10.0 | .NET 10.0 | 2.578 us | 0.0154 us | 0.0129 us | 0.0038 |      80 B |
| Parse  | .NET 8.0  | .NET 8.0  | 3.365 us | 0.0128 us | 0.0107 us | 0.0038 |      80 B |
| Parse  | .NET 9.0  | .NET 9.0  | 3.377 us | 0.0179 us | 0.0167 us | 0.0038 |      80 B |

Benchmark Lib Comparison:

| Method             | Categories | Data         | Mean            | Error            | StdDev         | Ratio     | RatioSD | Gen0     | Gen1     | Gen2     | Allocated  | Alloc Ratio |
|------------------- |----------- |------------- |----------------:|-----------------:|---------------:|----------:|--------:|---------:|---------:|---------:|-----------:|------------:|
| MyCSharp           | Basic      | Chrome Win10 |       958.47 ns |        37.481 ns |       2.054 ns |      1.00 |    0.00 |   0.0019 |        - |        - |       48 B |        1.00 |
| UAParser           | Basic      | Chrome Win10 | 9,418,639.58 ns | 2,533,776.349 ns | 138,884.832 ns |  9,826.75 |  126.81 | 671.8750 | 609.3750 | 109.3750 | 11659008 B |  242,896.00 |
| DeviceDetector.NET | Basic      | Chrome Win10 | 5,298,983.07 ns | 1,340,637.184 ns |  73,484.848 ns |  5,528.59 |   67.19 | 296.8750 | 140.6250 |  31.2500 |  5034130 B |  104,877.71 |
|                    |            |              |                 |                  |                |           |         |          |          |          |            |             |
| MyCSharp           | Basic      | Google-Bot   |       232.39 ns |        11.982 ns |       0.657 ns |      1.00 |    0.00 |        - |        - |        - |          - |          NA |
| UAParser           | Basic      | Google-Bot   | 9,545,001.56 ns | 1,544,591.635 ns |  84,664.280 ns | 41,073.51 |  331.15 | 687.5000 | 640.6250 | 125.0000 | 12015474 B |          NA |
| DeviceDetector.NET | Basic      | Google-Bot   | 6,250,936.98 ns | 2,627,454.822 ns | 144,019.665 ns | 26,898.68 |  540.73 | 500.0000 |  62.5000 |        - |  8862439 B |          NA |
|                    |            |              |                 |                  |                |           |         |          |          |          |            |             |
| MyCSharp           | Cached     | Chrome Win10 |        25.23 ns |         1.923 ns |       0.105 ns |      1.00 |    0.01 |        - |        - |        - |          - |          NA |
| UAParser           | Cached     | Chrome Win10 |   164,539.39 ns |     6,855.195 ns |     375.756 ns |  6,522.34 |   26.92 |   2.1973 |        - |        - |    37488 B |          NA |
|                    |            |              |                 |                  |                |           |         |          |          |          |            |             |
| MyCSharp           | Cached     | Google-Bot   |        18.15 ns |         1.651 ns |       0.090 ns |      1.00 |    0.01 |        - |        - |        - |          - |          NA |
| UAParser           | Cached     | Google-Bot   |   134,016.54 ns |    19,517.472 ns |   1,069.819 ns |  7,382.56 |   60.17 |   2.6855 |        - |        - |    45856 B |          NA |

@BenjaminAbt BenjaminAbt merged commit 5c04ac1 into main Mar 5, 2026
3 checks passed
@BenjaminAbt BenjaminAbt deleted the feature/fix-opera-android-issue95 branch March 5, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Version 3.1.2 chokes (fails hard) on parsing real-world user agent that previous versions could parse successfully

1 participant