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 |