⚡ perf(simd): unroll the AVX2 kernels, accelerate the ASCII scans, and drop the SWAR bounds checks #638
Annotations
1 error and 12 warnings
|
Report Results
# :warning: **Performance Alert** :warning:
Possible performance regression was detected for benchmark.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold `1.50`.
| Benchmark suite | Current: 21ac61003165bf52a82841c725dec42d85cf30ff | Previous: 1785d22eac8b84068786437f72e74db959ea1a0c | Ratio |
|-|-|-|-|
| `Benchmark_FormatUint8/strconv (github.com/gofiber/utils/v2)` | `18.96` ns/op 3 B/op 1 allocs/op | `12.03` ns/op 3 B/op 1 allocs/op | `1.58` |
| `Benchmark_FormatUint8/strconv (github.com/gofiber/utils/v2) - ns/op` | `18.96` ns/op | `12.03` ns/op | `1.58` |
| `Benchmark_IndexAny2/7B/scalar (github.com/gofiber/utils/v2)` | `3.16` ns/op 0 B/op 0 allocs/op | `2.075` ns/op 0 B/op 0 allocs/op | `1.52` |
| `Benchmark_IndexAny2/7B/scalar (github.com/gofiber/utils/v2) - ns/op` | `3.16` ns/op | `2.075` ns/op | `1.52` |
| `Benchmark_IndexAny2/8B/swar (github.com/gofiber/utils/v2)` | `4.432` ns/op 0 B/op 0 allocs/op | `2.024` ns/op 0 B/op 0 allocs/op | `2.19` |
| `Benchmark_IndexAny2/8B/swar (github.com/gofiber/utils/v2) - ns/op` | `4.432` ns/op | `2.024` ns/op | `2.19` |
| `Benchmark_IndexAny2/8B/scalar (github.com/gofiber/utils/v2)` | `4.652` ns/op 0 B/op 0 allocs/op | `2.663` ns/op 0 B/op 0 allocs/op | `1.75` |
| `Benchmark_IndexAny2/8B/scalar (github.com/gofiber/utils/v2) - ns/op` | `4.652` ns/op | `2.663` ns/op | `1.75` |
| `Benchmark_IndexAny2/16B/swar (github.com/gofiber/utils/v2)` | `6.027` ns/op 0 B/op 0 allocs/op | `2.92` ns/op 0 B/op 0 allocs/op | `2.06` |
| `Benchmark_IndexAny2/16B/swar (github.com/gofiber/utils/v2) - ns/op` | `6.027` ns/op | `2.92` ns/op | `2.06` |
| `Benchmark_IndexAny2/16B/scalar (github.com/gofiber/utils/v2)` | `9.271` ns/op 0 B/op 0 allocs/op | `4.695` ns/op 0 B/op 0 allocs/op | `1.97` |
| `Benchmark_IndexAny2/16B/scalar (github.com/gofiber/utils/v2) - ns/op` | `9.271` ns/op | `4.695` ns/op | `1.97` |
| `Benchmark_IndexAny2/16B/stdlib-indexany (github.com/gofiber/utils/v2)` | `18.91` ns/op 0 B/op 0 allocs/op | `9.097` ns/op 0 B/op 0 allocs/op | `2.08` |
| `Benchmark_IndexAny2/16B/stdlib-indexany (github.com/gofiber/utils/v2) - ns/op` | `18.91` ns/op | `9.097` ns/op | `2.08` |
| `Benchmark_IndexAny2/32B/swar (github.com/gofiber/utils/v2)` | `6.781` ns/op 0 B/op 0 allocs/op | `2.726` ns/op 0 B/op 0 allocs/op | `2.49` |
| `Benchmark_IndexAny2/32B/swar (github.com/gofiber/utils/v2) - ns/op` | `6.781` ns/op | `2.726` ns/op | `2.49` |
| `Benchmark_IndexAny2/32B/scalar (github.com/gofiber/utils/v2)` | `17.5` ns/op 0 B/op 0 allocs/op | `9.511` ns/op 0 B/op 0 allocs/op | `1.84` |
| `Benchmark_IndexAny2/32B/scalar (github.com/gofiber/utils/v2) - ns/op` | `17.5` ns/op | `9.511` ns/op | `1.84` |
| `Benchmark_IndexAny2/32B/stdlib-indexany (github.com/gofiber/utils/v2)` | `29.34` ns/op 0 B/op 0 allocs/op | `16.11` ns/op 0 B/op 0 allocs/op | `1.82` |
| `Benchmark_IndexAny2/32B/stdlib-indexany (github.com/gofiber/utils/v2) - ns/op` | `29.34` ns/op | `16.11` ns/op | `1.82` |
| `Benchmark_IndexAny2/64B/swar (github.com/gofiber/utils/v2)` | `7.466` ns/op 0 B/op 0 allocs/op | `3.161` ns/op 0 B/op 0 allocs/op | `2.36` |
| `Benchmark_IndexAny2/64B/swar (github.com/gofiber/utils/v2) - ns/op` | `7.466` ns/op | `3.161` ns/op | `2.36` |
| `Benchmark_IndexAny2/64B/scalar (github.com/gofiber/utils/v2)` | `33.75` ns/op 0 B/op 0 allocs/op | `21.28` ns/op 0 B/op 0 allocs/op | `1.59` |
| `Benchmark_IndexAny2/64B/scalar (github.com/gofiber/utils/v2) - ns/op` | `33.75` ns/op | `21.28` ns/op | `1.59` |
| `Benchmark_IndexAny2/64B/stdlib-indexany (github.com/gofiber/utils/v2)` | `49.71` ns/op 0 B/op 0 allocs/op | `27.76` ns/op 0 B/op 0 allocs/op | `1.79` |
| `Benchmark_IndexAny2/64B/stdlib-indexany (github.com/gofiber/utils/v2) -
|
|
Complete job
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Report Results
Performance alert! Previous value was 2.92 and current value is 6.027. It is 2.064041095890411x worse than previous exceeding a ratio threshold 1.5
|
|
Report Results
Performance alert! Previous value was 2.92 and current value is 6.027. It is 2.064041095890411x worse than previous exceeding a ratio threshold 1.5
|
|
Report Results
Performance alert! Previous value was 2.663 and current value is 4.652. It is 1.7469019902365754x worse than previous exceeding a ratio threshold 1.5
|
|
Report Results
Performance alert! Previous value was 2.663 and current value is 4.652. It is 1.7469019902365754x worse than previous exceeding a ratio threshold 1.5
|
|
Report Results
Performance alert! Previous value was 2.024 and current value is 4.432. It is 2.189723320158103x worse than previous exceeding a ratio threshold 1.5
|
|
Report Results
Performance alert! Previous value was 2.024 and current value is 4.432. It is 2.189723320158103x worse than previous exceeding a ratio threshold 1.5
|
|
Report Results
Performance alert! Previous value was 2.075 and current value is 3.16. It is 1.5228915662650602x worse than previous exceeding a ratio threshold 1.5
|
|
Report Results
Performance alert! Previous value was 2.075 and current value is 3.16. It is 1.5228915662650602x worse than previous exceeding a ratio threshold 1.5
|
|
Report Results
Performance alert! Previous value was 12.03 and current value is 18.96. It is 1.576059850374065x worse than previous exceeding a ratio threshold 1.5
|
|
Report Results
Performance alert! Previous value was 12.03 and current value is 18.96. It is 1.576059850374065x worse than previous exceeding a ratio threshold 1.5
|
|
Merge shard outputs
shards ran on different CPUs: AMD EPYC Intel(R) Xeon(R) Processor
|
background
wait
wait-all
cancel
parallel
Loading