Optimize FindFirstCharToEncode for JavaScriptEncoder.Default using Ssse3 intrinsics by gfoidl · Pull Request #42073 · dotnet/corefx (original) (raw)

|   Method |        TestStringData |      Mean |     Error |    StdDev | Ratio | RatioSD |
|--------- |---------------------- |----------:|----------:|----------:|------:|--------:|
|   Master |            (1, -1, r) |  5.660 ns | 0.1006 ns | 0.0941 ns |  1.00 |    0.00 |
| PR_42073 |            (1, -1, r) |  5.318 ns | 0.0420 ns | 0.0393 ns |  0.94 |    0.02 |
|          |                       |           |           |           |       |         |
|   Master |          (1, 0, <) |  5.072 ns | 0.0081 ns | 0.0071 ns |  1.00 |    0.00 |
| PR_42073 |          (1, 0, <) |  5.113 ns | 0.0132 ns | 0.0123 ns |  1.01 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master | (100,(...)kuwu) [111] | 48.072 ns | 0.4432 ns | 0.3929 ns |  1.00 |    0.00 |
| PR_42073 | (100,(...)kuwu) [111] | 24.007 ns | 0.0502 ns | 0.0419 ns |  0.50 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |  (15, (...)dabu) [25] | 21.191 ns | 0.0343 ns | 0.0268 ns |  1.00 |    0.00 |
| PR_42073 |  (15, (...)dabu) [25] | 13.933 ns | 0.0442 ns | 0.0391 ns |  0.66 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |  (16, (...)sqfa) [26] | 14.327 ns | 0.0210 ns | 0.0186 ns |  1.00 |    0.00 |
| PR_42073 |  (16, (...)sqfa) [26] |  8.877 ns | 0.0458 ns | 0.0428 ns |  0.62 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |  (17, (...)aabr) [27] | 16.068 ns | 0.0447 ns | 0.0373 ns |  1.00 |    0.00 |
| PR_42073 |  (17, (...)aabr) [27] | 10.433 ns | 0.0337 ns | 0.0299 ns |  0.65 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |           (2, -1, dd) |  6.631 ns | 0.0198 ns | 0.0175 ns |  1.00 |    0.00 |
| PR_42073 |           (2, -1, dd) |  6.622 ns | 0.0323 ns | 0.0302 ns |  1.00 |    0.01 |
|          |                       |           |           |           |       |         |
|   Master |  (32, (...)dfpn) [42] | 20.296 ns | 0.2466 ns | 0.2186 ns |  1.00 |    0.00 |
| PR_42073 |  (32, (...)dfpn) [42] | 10.287 ns | 0.2252 ns | 0.2107 ns |  0.51 |    0.01 |
|          |                       |           |           |           |       |         |
|   Master |         (4, -1, negs) |  9.686 ns | 0.0922 ns | 0.0863 ns |  1.00 |    0.00 |
| PR_42073 |         (4, -1, negs) |  9.128 ns | 0.0523 ns | 0.0463 ns |  0.94 |    0.01 |
|          |                       |           |           |           |       |         |
|   Master |      (7, -1, netggni) | 14.083 ns | 0.0461 ns | 0.0385 ns |  1.00 |    0.00 |
| PR_42073 |      (7, -1, netggni) | 14.761 ns | 0.0426 ns | 0.0356 ns |  1.05 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |    (7, 0, <etggni) |  5.290 ns | 0.0194 ns | 0.0172 ns |  1.00 |    0.00 |
| PR_42073 |    (7, 0, <etggni) |  5.101 ns | 0.0280 ns | 0.0262 ns |  0.96 |    0.01 |
|          |                       |           |           |           |       |         |
|   Master |    (7, 1, n<tggni) |  6.439 ns | 0.0443 ns | 0.0414 ns |  1.00 |    0.00 |
| PR_42073 |    (7, 1, n<tggni) |  6.427 ns | 0.0451 ns | 0.0400 ns |  1.00 |    0.01 |
|          |                       |           |           |           |       |         |
|   Master |    (7, 2, ne<ggni) |  8.023 ns | 0.0340 ns | 0.0301 ns |  1.00 |    0.00 |
| PR_42073 |    (7, 2, ne<ggni) |  7.958 ns | 0.1538 ns | 0.1363 ns |  0.99 |    0.02 |
|          |                       |           |           |           |       |         |
|   Master |    (7, 3, net<gni) |  9.177 ns | 0.0694 ns | 0.0615 ns |  1.00 |    0.00 |
| PR_42073 |    (7, 3, net<gni) |  8.808 ns | 0.0230 ns | 0.0192 ns |  0.96 |    0.01 |
|          |                       |           |           |           |       |         |
|   Master |    (7, 4, netg<ni) | 10.564 ns | 0.0143 ns | 0.0120 ns |  1.00 |    0.00 |
| PR_42073 |    (7, 4, netg<ni) | 10.590 ns | 0.0143 ns | 0.0127 ns |  1.00 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |    (7, 5, netgg<i) | 12.577 ns | 0.0185 ns | 0.0154 ns |  1.00 |    0.00 |
| PR_42073 |    (7, 5, netgg<i) | 11.106 ns | 0.0306 ns | 0.0271 ns |  0.88 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |    (7, 6, netggn<) | 14.034 ns | 0.0385 ns | 0.0341 ns |  1.00 |    0.00 |
| PR_42073 |    (7, 6, netggn<) | 12.251 ns | 0.0163 ns | 0.0145 ns |  0.87 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |     (8, -1, jgnavpkd) | 10.966 ns | 0.0180 ns | 0.0150 ns |  1.00 |    0.00 |
| PR_42073 |     (8, -1, jgnavpkd) |  9.062 ns | 0.0167 ns | 0.0148 ns |  0.83 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |   (8, 0, <gnavpkd) | 11.446 ns | 0.0321 ns | 0.0301 ns |  1.00 |    0.00 |
| PR_42073 |   (8, 0, <gnavpkd) |  8.655 ns | 0.0157 ns | 0.0140 ns |  0.76 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |   (8, 1, j<navpkd) | 10.585 ns | 0.0197 ns | 0.0164 ns |  1.00 |    0.00 |
| PR_42073 |   (8, 1, j<navpkd) |  8.674 ns | 0.0202 ns | 0.0189 ns |  0.82 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |   (8, 2, jg<avpkd) | 10.568 ns | 0.0133 ns | 0.0118 ns |  1.00 |    0.00 |
| PR_42073 |   (8, 2, jg<avpkd) |  8.663 ns | 0.0235 ns | 0.0220 ns |  0.82 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |   (8, 3, jgn<vpkd) | 10.583 ns | 0.0154 ns | 0.0144 ns |  1.00 |    0.00 |
| PR_42073 |   (8, 3, jgn<vpkd) |  8.654 ns | 0.0115 ns | 0.0102 ns |  0.82 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |   (8, 4, jgna<pkd) | 10.986 ns | 0.0200 ns | 0.0187 ns |  1.00 |    0.00 |
| PR_42073 |   (8, 4, jgna<pkd) |  8.651 ns | 0.0104 ns | 0.0097 ns |  0.79 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |   (8, 5, jgnav<kd) | 10.579 ns | 0.0145 ns | 0.0121 ns |  1.00 |    0.00 |
| PR_42073 |   (8, 5, jgnav<kd) |  8.652 ns | 0.0099 ns | 0.0093 ns |  0.82 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |   (8, 6, jgnavp<d) | 10.986 ns | 0.0350 ns | 0.0311 ns |  1.00 |    0.00 |
| PR_42073 |   (8, 6, jgnavp<d) |  8.656 ns | 0.0127 ns | 0.0112 ns |  0.79 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |   (8, 7, jgnavpk<) | 10.963 ns | 0.0139 ns | 0.0116 ns |  1.00 |    0.00 |
| PR_42073 |   (8, 7, jgnavpk<) |  8.660 ns | 0.0096 ns | 0.0085 ns |  0.79 |    0.00 |
|          |                       |           |           |           |       |         |
|   Master |    (9, -1, csvobsdxs) | 11.934 ns | 0.0233 ns | 0.0218 ns |  1.00 |    0.00 |
| PR_42073 |    (9, -1, csvobsdxs) | 10.200 ns | 0.0113 ns | 0.0100 ns |  0.86 |    0.00 |