⚡ perf(simd): unroll the AVX2 kernels, accelerate the ASCII scans, and drop the SWAR bounds checks #638
benchmark.yml
on: pull_request
benchmark
/
plan
4s
Matrix: benchmark / benchmark
benchmark
/
report
16s
Annotations
1 error and 18 warnings
|
benchmark / report
# :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) -
|
|
benchmark / benchmark (4)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
benchmark / benchmark (5)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
benchmark / benchmark (2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
benchmark / benchmark (0)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
benchmark / benchmark (1)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
benchmark / benchmark (3)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
benchmark / report
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/
|
|
benchmark / report
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
|
|
benchmark / report
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
|
|
benchmark / report
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
|
|
benchmark / report
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
|
|
benchmark / report
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
|
|
benchmark / report
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
|
|
benchmark / report
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
|
|
benchmark / report
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
|
|
benchmark / report
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
|
|
benchmark / report
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
|
|
benchmark / report
shards ran on different CPUs: AMD EPYC Intel(R) Xeon(R) Processor
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
benchmark-.-shard-0
Expired
|
2.67 KB |
sha256:4af48ec8aeae450a6a7dc7a8f918095fcec9861338ff3287e71d86a3983c95ec
|
|
|
benchmark-.-shard-1
Expired
|
2.39 KB |
sha256:94342fde2661525a0b8155e6e61f39b8fdc1615295d826490c6a6801360376bf
|
|
|
benchmark-.-shard-2
Expired
|
2.58 KB |
sha256:9ab1cc18393a7fc4e5b3d7c13b5449df7fa8133b54e83eb17e5717a49901df90
|
|
|
benchmark-.-shard-3
Expired
|
2.79 KB |
sha256:4c18221aac1d5d2787fa8aa3fe03bcaec66b9ffa6557804667b004a191f2bdca
|
|
|
benchmark-.-shard-4
Expired
|
2.31 KB |
sha256:e3c6dc49a76b198310f6defb40a27bb32934cbd13283669edc003845b3d9ac38
|
|
|
benchmark-.-shard-5
Expired
|
2.51 KB |
sha256:9539a822bc3a3ab367d7c638f58f817e3da7da535666f5e8c3f145344a0080e1
|
|