Optimize TextEncoder.FindFirstCharacterToEncodeUtf8 by gfoidl · Pull Request #284 · dotnet/runtime (original) (raw)
| Method | TestStringData | Mean | Error | StdDev | Median | Ratio | RatioSD |
|------- |--------------------- |----------:|----------:|----------:|----------:|------:|--------:|
| Master | (1, -(...)te[]) [22] | 21.41 ns | 0.0309 ns | 0.0274 ns | 21.40 ns | 1.00 | 0.00 |
| PR | (1, -(...)te[]) [22] | 19.23 ns | 0.1229 ns | 0.1089 ns | 19.19 ns | 0.90 | 0.01 |
| | | | | | | | |
| Master | (1, 0(...)te[]) [21] | 21.60 ns | 0.3552 ns | 0.2966 ns | 21.50 ns | 1.00 | 0.00 |
| PR | (1, 0(...)te[]) [21] | 18.79 ns | 0.0220 ns | 0.0184 ns | 18.79 ns | 0.87 | 0.01 |
| | | | | | | | |
| Master | (100,(...)te[]) [24] | 112.40 ns | 0.4321 ns | 0.3373 ns | 112.30 ns | 1.00 | 0.00 |
| PR | (100,(...)te[]) [24] | 39.95 ns | 0.3994 ns | 0.3335 ns | 39.82 ns | 0.35 | 0.00 |
| | | | | | | | |
| Master | (15, (...)te[]) [23] | 42.50 ns | 0.2383 ns | 0.1990 ns | 42.41 ns | 1.00 | 0.00 |
| PR | (15, (...)te[]) [23] | 40.09 ns | 0.0848 ns | 0.0708 ns | 40.08 ns | 0.94 | 0.00 |
| | | | | | | | |
| Master | (16, (...)te[]) [23] | 34.57 ns | 0.1952 ns | 0.1630 ns | 34.50 ns | 1.00 | 0.00 |
| PR | (16, (...)te[]) [23] | 22.14 ns | 0.0277 ns | 0.0216 ns | 22.14 ns | 0.64 | 0.00 |
| | | | | | | | |
| Master | (17, (...)te[]) [23] | 35.92 ns | 0.2825 ns | 0.2359 ns | 35.81 ns | 1.00 | 0.00 |
| PR | (17, (...)te[]) [23] | 23.30 ns | 0.1098 ns | 0.0917 ns | 23.26 ns | 0.65 | 0.00 |
| | | | | | | | |
| Master | (2, -(...)te[]) [22] | 23.01 ns | 0.1779 ns | 0.1577 ns | 22.93 ns | 1.00 | 0.00 |
| PR | (2, -(...)te[]) [22] | 20.69 ns | 0.0429 ns | 0.0358 ns | 20.68 ns | 0.90 | 0.01 |
| | | | | | | | |
| Master | (32, (...)te[]) [23] | 49.03 ns | 0.3464 ns | 0.2892 ns | 48.93 ns | 1.00 | 0.00 |
| PR | (32, (...)te[]) [23] | 24.76 ns | 0.0560 ns | 0.0468 ns | 24.75 ns | 0.50 | 0.00 |
| | | | | | | | |
| Master | (4, -(...)te[]) [22] | 25.90 ns | 0.0300 ns | 0.0250 ns | 25.90 ns | 1.00 | 0.00 |
| PR | (4, -(...)te[]) [22] | 23.83 ns | 0.2902 ns | 0.2573 ns | 23.68 ns | 0.92 | 0.01 |
| | | | | | | | |
| Master | (7, -(...)te[]) [22] | 30.38 ns | 0.0407 ns | 0.0318 ns | 30.39 ns | 1.00 | 0.00 |
| PR | (7, -(...)te[]) [22] | 28.26 ns | 0.1200 ns | 0.1064 ns | 28.28 ns | 0.93 | 0.00 |
| | | | | | | | |
| Master | (7, 0(...)te[]) [21] | 21.42 ns | 0.0438 ns | 0.0366 ns | 21.42 ns | 1.00 | 0.00 |
| PR | (7, 0(...)te[]) [21] | 18.97 ns | 0.4146 ns | 0.3462 ns | 18.80 ns | 0.89 | 0.02 |
| | | | | | | | |
| Master | (7, 1(...)te[]) [21] | 23.00 ns | 0.2232 ns | 0.1864 ns | 22.90 ns | 1.00 | 0.00 |
| PR | (7, 1(...)te[]) [21] | 20.33 ns | 0.0969 ns | 0.0809 ns | 20.30 ns | 0.88 | 0.01 |
| | | | | | | | |
| Master | (7, 2(...)te[]) [21] | 24.41 ns | 0.0599 ns | 0.0531 ns | 24.40 ns | 1.00 | 0.00 |
| PR | (7, 2(...)te[]) [21] | 21.84 ns | 0.1300 ns | 0.1085 ns | 21.79 ns | 0.89 | 0.00 |
| | | | | | | | |
| Master | (7, 3(...)te[]) [21] | 26.00 ns | 0.2157 ns | 0.1801 ns | 25.91 ns | 1.00 | 0.00 |
| PR | (7, 3(...)te[]) [21] | 23.52 ns | 0.3503 ns | 0.3277 ns | 23.30 ns | 0.90 | 0.01 |
| | | | | | | | |
| Master | (7, 4(...)te[]) [21] | 27.40 ns | 0.0437 ns | 0.0341 ns | 27.40 ns | 1.00 | 0.00 |
| PR | (7, 4(...)te[]) [21] | 24.78 ns | 0.0283 ns | 0.0221 ns | 24.78 ns | 0.90 | 0.00 |
| | | | | | | | |
| Master | (7, 5(...)te[]) [21] | 29.10 ns | 0.4427 ns | 0.3924 ns | 29.00 ns | 1.00 | 0.00 |
| PR | (7, 5(...)te[]) [21] | 28.39 ns | 2.4063 ns | 3.5271 ns | 26.35 ns | 1.05 | 0.13 |
| | | | | | | | |
| Master | (7, 6(...)te[]) [21] | 30.41 ns | 0.2024 ns | 0.1893 ns | 30.31 ns | 1.00 | 0.00 |
| PR | (7, 6(...)te[]) [21] | 27.78 ns | 0.0993 ns | 0.0880 ns | 27.74 ns | 0.91 | 0.01 |
| | | | | | | | |
| Master | (8, -(...)te[]) [22] | 32.05 ns | 0.4349 ns | 0.3632 ns | 31.93 ns | 1.00 | 0.00 |
| PR | (8, -(...)te[]) [22] | 29.80 ns | 0.3755 ns | 0.3512 ns | 29.63 ns | 0.93 | 0.02 |
| | | | | | | | |
| Master | (8, 0(...)te[]) [21] | 21.42 ns | 0.0466 ns | 0.0389 ns | 21.42 ns | 1.00 | 0.00 |
| PR | (8, 0(...)te[]) [21] | 18.79 ns | 0.0309 ns | 0.0241 ns | 18.80 ns | 0.88 | 0.00 |
| | | | | | | | |
| Master | (8, 1(...)te[]) [21] | 22.88 ns | 0.0246 ns | 0.0205 ns | 22.88 ns | 1.00 | 0.00 |
| PR | (8, 1(...)te[]) [21] | 20.31 ns | 0.0312 ns | 0.0292 ns | 20.30 ns | 0.89 | 0.00 |
| | | | | | | | |
| Master | (8, 2(...)te[]) [21] | 24.49 ns | 0.1688 ns | 0.1579 ns | 24.41 ns | 1.00 | 0.00 |
| PR | (8, 2(...)te[]) [21] | 21.81 ns | 0.0416 ns | 0.0369 ns | 21.79 ns | 0.89 | 0.01 |
| | | | | | | | |
| Master | (8, 3(...)te[]) [21] | 25.90 ns | 0.0334 ns | 0.0296 ns | 25.90 ns | 1.00 | 0.00 |
| PR | (8, 3(...)te[]) [21] | 23.36 ns | 0.1907 ns | 0.1593 ns | 23.29 ns | 0.90 | 0.01 |
| | | | | | | | |
| Master | (8, 4(...)te[]) [21] | 27.38 ns | 0.0476 ns | 0.0371 ns | 27.38 ns | 1.00 | 0.00 |
| PR | (8, 4(...)te[]) [21] | 24.84 ns | 0.0851 ns | 0.0754 ns | 24.82 ns | 0.91 | 0.00 |
| | | | | | | | |
| Master | (8, 5(...)te[]) [21] | 28.92 ns | 0.1522 ns | 0.1349 ns | 28.87 ns | 1.00 | 0.00 |
| PR | (8, 5(...)te[]) [21] | 26.30 ns | 0.0560 ns | 0.0467 ns | 26.29 ns | 0.91 | 0.00 |
| | | | | | | | |
| Master | (8, 6(...)te[]) [21] | 30.33 ns | 0.1331 ns | 0.1112 ns | 30.28 ns | 1.00 | 0.00 |
| PR | (8, 6(...)te[]) [21] | 27.80 ns | 0.0974 ns | 0.0814 ns | 27.78 ns | 0.92 | 0.00 |
| | | | | | | | |
| Master | (8, 7(...)te[]) [21] | 31.89 ns | 0.1779 ns | 0.1577 ns | 31.82 ns | 1.00 | 0.00 |
| PR | (8, 7(...)te[]) [21] | 29.41 ns | 0.3828 ns | 0.3196 ns | 29.28 ns | 0.92 | 0.01 |
| | | | | | | | |
| Master | (9, -(...)te[]) [22] | 33.34 ns | 0.0397 ns | 0.0310 ns | 33.33 ns | 1.00 | 0.00 |
| PR | (9, -(...)te[]) [22] | 31.16 ns | 0.0385 ns | 0.0300 ns | 31.16 ns | 0.93 | 0.00 |