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 |