Skip to content

[pull] master from golang:master#26

Merged
pull[bot] merged 1 commit intotrailofbits:masterfrom
golang:master
May 10, 2026
Merged

[pull] master from golang:master#26
pull[bot] merged 1 commit intotrailofbits:masterfrom
golang:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 10, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

…rinsics

Note: large degradations on benchmarks like MapAccessZero/MapAccessEmpty are caused by changes in basic block alignment.

Benchmark results are:
* base            - before this CL
* asm             - this CL with default asm implementations (this is sanity check to test against performance regressions)
* simd-intrinsics - this CL with GOEXPERIMENT=simd

goos: linux
goarch: amd64
pkg: runtime
cpu: Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
                                                 │      base.stat      │              asm.stat               │         simd-intrinsics.stat         │
                                                 │       sec/op        │   sec/op     vs base                │    sec/op     vs base                │
MapAccessHit/Key=int32/Elem=int32/len=6-4                  21.57n ± 0%   21.48n ± 0%   -0.42% (p=0.000 n=30)   21.61n ±  0%   +0.19% (p=0.000 n=30)
MapAccessHit/Key=int32/Elem=int32/len=64-4                 25.62n ± 2%   25.68n ± 0%        ~ (p=0.773 n=30)   24.15n ±  0%   -5.74% (p=0.000 n=30)
MapAccessHit/Key=int32/Elem=int32/len=65536-4              41.03n ± 2%   41.09n ± 0%        ~ (p=0.086 n=30)   39.13n ±  1%   -4.63% (p=0.000 n=30)
MapAccessHit/Key=int64/Elem=int64/len=6-4                  21.50n ± 0%   21.50n ± 0%        ~ (p=0.873 n=30)   21.61n ±  0%   +0.49% (p=0.000 n=30)
MapAccessHit/Key=int64/Elem=int64/len=64-4                 25.58n ± 1%   25.36n ± 2%        ~ (p=0.054 n=30)   23.88n ±  1%   -6.68% (p=0.000 n=30)
MapAccessHit/Key=int64/Elem=int64/len=65536-4              44.35n ± 0%   43.79n ± 0%   -1.27% (p=0.000 n=30)   43.11n ±  0%   -2.80% (p=0.000 n=30)
MapAccessHit/Key=int32/Elem=bigType/len=6-4                102.4n ± 0%   101.8n ± 0%   -0.54% (p=0.005 n=30)   102.3n ±  0%        ~ (p=0.458 n=30)
MapAccessHit/Key=int32/Elem=bigType/len=64-4               167.2n ± 4%   168.9n ± 3%        ~ (p=0.112 n=30)   167.7n ±  3%        ~ (p=0.284 n=30)
MapAccessHit/Key=int32/Elem=bigType/len=65536-4            598.6n ± 0%   604.3n ± 0%   +0.97% (p=0.000 n=30)   601.2n ±  0%   +0.45% (p=0.000 n=30)
MapAccessHit/Key=int32/Elem=*int32/len=6-4                 21.77n ± 1%   21.71n ± 1%        ~ (p=0.183 n=30)   21.80n ±  0%        ~ (p=0.209 n=30)
MapAccessHit/Key=int32/Elem=*int32/len=64-4                26.07n ± 0%   25.89n ± 0%   -0.69% (p=0.001 n=30)   24.31n ±  1%   -6.75% (p=0.000 n=30)
MapAccessHit/Key=int32/Elem=*int32/len=65536-4             45.35n ± 0%   45.26n ± 0%   -0.21% (p=0.008 n=30)   43.40n ±  0%   -4.30% (p=0.000 n=30)
MapAccessMiss/Key=int32/Elem=int32/len=6-4                 23.31n ± 0%   23.21n ± 1%        ~ (p=0.184 n=30)   23.33n ±  1%        ~ (p=0.795 n=30)
MapAccessMiss/Key=int32/Elem=int32/len=64-4                25.00n ± 3%   24.88n ± 2%        ~ (p=0.420 n=30)   23.63n ±  3%   -5.48% (p=0.000 n=30)
MapAccessMiss/Key=int32/Elem=int32/len=65536-4             37.64n ± 0%   37.57n ± 0%        ~ (p=0.053 n=30)   36.02n ±  0%   -4.30% (p=0.000 n=30)
MapAccessMiss/Key=int64/Elem=int64/len=6-4                 23.51n ± 0%   23.50n ± 0%        ~ (p=0.447 n=30)   23.63n ±  0%   +0.51% (p=0.000 n=30)
MapAccessMiss/Key=int64/Elem=int64/len=64-4                25.71n ± 3%   25.12n ± 2%        ~ (p=0.141 n=30)   23.45n ±  2%   -8.77% (p=0.000 n=30)
MapAccessMiss/Key=int64/Elem=int64/len=65536-4             38.32n ± 0%   37.99n ± 0%   -0.86% (p=0.000 n=30)   36.56n ± 35%   -4.58% (p=0.027 n=30)
MapAccessMiss/Key=int32/Elem=bigType/len=6-4               129.4n ± 3%   129.9n ± 0%        ~ (p=0.064 n=30)   138.4n ±  2%   +6.92% (p=0.000 n=30)
MapAccessMiss/Key=int32/Elem=bigType/len=64-4              132.0n ± 2%   131.9n ± 0%        ~ (p=0.877 n=30)   138.6n ±  2%   +5.00% (p=0.000 n=30)
MapAccessMiss/Key=int32/Elem=bigType/len=65536-4           153.3n ± 1%   153.5n ± 0%        ~ (p=0.449 n=30)   153.8n ±  0%        ~ (p=0.762 n=30)
MapAccessMiss/Key=int32/Elem=*int32/len=6-4                23.69n ± 0%   23.36n ± 0%   -1.41% (p=0.000 n=30)   23.70n ±  1%   +0.04% (p=0.000 n=30)
MapAccessMiss/Key=int32/Elem=*int32/len=64-4               24.98n ± 3%   24.94n ± 3%        ~ (p=0.647 n=30)   23.59n ±  3%   -5.58% (p=0.000 n=30)
MapAccessMiss/Key=int32/Elem=*int32/len=65536-4            38.18n ± 0%   38.00n ± 0%   -0.48% (p=0.000 n=30)   36.49n ±  0%   -4.43% (p=0.000 n=30)
MapAccessZero/Key=int64-4                                  3.094n ± 0%   3.093n ± 0%   -0.03% (p=0.033 n=30)   2.707n ±  0%  -12.51% (p=0.000 n=30)
MapAccessZero/Key=int32-4                                  2.707n ± 0%   3.093n ± 0%  +14.28% (p=0.000 n=30)   3.093n ±  0%  +14.26% (p=0.000 n=30)
MapAccessEmpty/Key=int64-4                                 3.481n ± 0%   3.481n ± 0%        ~ (p=0.613 n=30)   3.094n ±  0%  -11.12% (p=0.000 n=30)
MapAccessEmpty/Key=int32-4                                 3.094n ± 0%   3.481n ± 0%  +12.51% (p=0.000 n=30)   3.481n ±  0%  +12.51% (p=0.000 n=30)
geomean                                                    30.59n        30.78n        +0.62%                  30.03n         -1.84%

goos: linux
goarch: amd64
pkg: runtime
cpu: Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
                                                        │      base.stat      │              asm.stat              │         simd-intrinsics.stat         │
                                                        │       sec/op        │   sec/op     vs base               │    sec/op     vs base                │
MapAssignExists/Key=int32/Elem=int32/len=6-4                      26.35n ± 0%   26.73n ± 0%  +1.44% (p=0.000 n=30)   25.15n ±  0%   -4.55% (p=0.000 n=30)
MapAssignExists/Key=int32/Elem=int32/len=64-4                     28.24n ± 1%   28.05n ± 2%       ~ (p=0.779 n=30)   26.68n ±  2%   -5.56% (p=0.000 n=30)
MapAssignExists/Key=int32/Elem=int32/len=65536-4                  43.50n ± 2%   43.66n ± 0%       ~ (p=0.318 n=30)   42.89n ±  0%   -1.39% (p=0.000 n=30)
MapAssignExists/Key=int64/Elem=int64/len=6-4                      26.36n ± 0%   26.83n ± 0%  +1.80% (p=0.000 n=30)   24.97n ±  0%   -5.26% (p=0.000 n=30)
MapAssignExists/Key=int64/Elem=int64/len=64-4                     28.41n ± 1%   28.05n ± 1%  -1.28% (p=0.004 n=30)   26.35n ±  2%   -7.25% (p=0.000 n=30)
MapAssignExists/Key=int64/Elem=int64/len=65536-4                  48.09n ± 1%   46.79n ± 0%  -2.70% (p=0.000 n=30)   44.98n ±  1%   -6.48% (p=0.000 n=30)
MapAssignExists/Key=int32/Elem=bigType/len=6-4                    298.3n ± 1%   301.8n ± 0%  +1.14% (p=0.000 n=30)   301.9n ±  0%   +1.19% (p=0.000 n=30)
MapAssignExists/Key=int32/Elem=bigType/len=64-4                   410.3n ± 1%   412.7n ± 1%  +0.56% (p=0.008 n=30)   411.2n ±  1%        ~ (p=0.211 n=30)
MapAssignExists/Key=int32/Elem=bigType/len=65536-4                1.296µ ± 0%   1.309µ ± 0%  +1.00% (p=0.000 n=30)   1.307µ ±  0%   +0.85% (p=0.000 n=30)
MapAssignExists/Key=int32/Elem=*int32/len=6-4                     26.89n ± 0%   27.19n ± 0%  +1.12% (p=0.000 n=30)   25.80n ±  0%   -4.05% (p=0.000 n=30)
MapAssignExists/Key=int32/Elem=*int32/len=64-4                    28.65n ± 1%   28.13n ± 1%  -1.80% (p=0.000 n=30)   27.00n ±  1%   -5.76% (p=0.000 n=30)
MapAssignExists/Key=int32/Elem=*int32/len=65536-4                 48.66n ± 0%   46.56n ± 0%  -4.32% (p=0.000 n=30)   46.19n ±  0%   -5.06% (p=0.000 n=30)
MapAssignFillNoHint/Key=int32/Elem=int32/len=6-4                  45.88n ± 0%   45.91n ± 0%       ~ (p=0.420 n=30)   53.98n ± 17%        ~ (p=0.077 n=30)
MapAssignFillNoHint/Key=int32/Elem=int32/len=64-4                 104.5n ± 0%   106.5n ± 0%  +1.91% (p=0.000 n=30)   102.5n ±  0%   -1.91% (p=0.000 n=30)
MapAssignFillNoHint/Key=int32/Elem=int32/len=65536-4              119.5n ± 0%   120.6n ± 0%  +0.92% (p=0.000 n=30)   117.9n ±  0%   -1.34% (p=0.000 n=30)
MapAssignFillNoHint/Key=int64/Elem=int64/len=6-4                  47.96n ± 0%   48.22n ± 0%  +0.53% (p=0.000 n=30)   53.50n ± 20%        ~ (p=0.077 n=30)
MapAssignFillNoHint/Key=int64/Elem=int64/len=64-4                 112.2n ± 1%   114.5n ± 0%  +2.10% (p=0.000 n=30)   110.3n ±  0%   -1.60% (p=0.000 n=30)
MapAssignFillNoHint/Key=int64/Elem=int64/len=65536-4              136.8n ± 0%   137.9n ± 1%  +0.80% (p=0.000 n=30)   132.6n ±  1%   -3.03% (p=0.000 n=30)
MapAssignFillNoHint/Key=int32/Elem=bigType/len=6-4                1.466µ ± 0%   1.463µ ± 1%       ~ (p=0.564 n=30)   1.526µ ±  0%   +4.06% (p=0.000 n=30)
MapAssignFillNoHint/Key=int32/Elem=bigType/len=64-4               1.675µ ± 1%   1.668µ ± 0%  -0.42% (p=0.003 n=30)   1.670µ ±  0%   -0.33% (p=0.038 n=30)
MapAssignFillNoHint/Key=int32/Elem=bigType/len=65536-4            2.160µ ± 2%   2.169µ ± 3%       ~ (p=0.871 n=30)   2.164µ ±  2%        ~ (p=0.137 n=30)
MapAssignFillNoHint/Key=int32/Elem=*int32/len=6-4                 49.60n ± 1%   50.16n ± 0%  +1.13% (p=0.000 n=30)   54.72n ± 13%        ~ (p=0.171 n=30)
MapAssignFillNoHint/Key=int32/Elem=*int32/len=64-4                113.7n ± 0%   115.9n ± 0%  +1.93% (p=0.000 n=30)   111.8n ±  0%   -1.72% (p=0.000 n=30)
MapAssignFillNoHint/Key=int32/Elem=*int32/len=65536-4             158.5n ± 1%   155.1n ± 1%  -2.15% (p=0.000 n=30)   153.5n ±  0%   -3.19% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=6-4                 113.2n ± 0%   112.8n ± 0%  -0.35% (p=0.005 n=30)   110.5n ±  1%   -2.43% (p=0.002 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=64-4                169.7n ± 0%   171.4n ± 0%  +1.00% (p=0.000 n=30)   166.9n ±  0%   -1.62% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=65536-4             194.0n ± 0%   198.8n ± 0%  +2.45% (p=0.000 n=30)   195.0n ±  0%   +0.52% (p=0.005 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=6-4                 116.6n ± 0%   117.1n ± 0%  +0.39% (p=0.000 n=30)   114.8n ±  4%        ~ (p=0.283 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=64-4                181.7n ± 0%   184.3n ± 0%  +1.40% (p=0.000 n=30)   179.1n ±  0%   -1.46% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=65536-4             208.0n ± 0%   214.5n ± 0%  +3.10% (p=0.000 n=30)   207.3n ±  0%   -0.31% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=6-4               1.114µ ± 2%   1.096µ ± 1%  -1.57% (p=0.000 n=30)   1.244µ ±  1%  +11.67% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=64-4              1.259µ ± 1%   1.256µ ± 1%       ~ (p=0.073 n=30)   1.252µ ±  0%   -0.56% (p=0.004 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=65536-4           2.258µ ± 0%   2.256µ ± 0%       ~ (p=0.888 n=30)   2.266µ ±  1%        ~ (p=0.128 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=6-4                119.9n ± 0%   119.0n ± 0%  -0.79% (p=0.000 n=30)   116.2n ±  3%   -3.09% (p=0.009 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=64-4               183.1n ± 0%   186.7n ± 0%  +1.97% (p=0.000 n=30)   180.2n ±  0%   -1.58% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=65536-4            211.4n ± 0%   212.3n ± 0%  +0.43% (p=0.000 n=30)   210.0n ±  0%   -0.66% (p=0.000 n=30)
MapAssignFillHint/Key=int32/Elem=int32/len=6-4                    46.09n ± 0%   46.75n ± 0%  +1.41% (p=0.000 n=30)   45.37n ± 23%        ~ (p=0.379 n=30)
MapAssignFillHint/Key=int32/Elem=int32/len=64-4                   39.67n ± 0%   39.10n ± 0%  -1.45% (p=0.000 n=30)   37.39n ±  0%   -5.76% (p=0.000 n=30)
MapAssignFillHint/Key=int32/Elem=int32/len=65536-4                51.85n ± 0%   51.53n ± 0%  -0.64% (p=0.000 n=30)   49.96n ±  0%   -3.65% (p=0.000 n=30)
MapAssignFillHint/Key=int64/Elem=int64/len=6-4                    48.39n ± 0%   48.71n ± 0%  +0.66% (p=0.000 n=30)   56.34n ± 19%  +16.45% (p=0.008 n=30)
MapAssignFillHint/Key=int64/Elem=int64/len=64-4                   43.47n ± 0%   42.91n ± 0%  -1.28% (p=0.000 n=30)   63.21n ± 11%  +45.42% (p=0.000 n=30)
MapAssignFillHint/Key=int64/Elem=int64/len=65536-4                57.96n ± 1%   59.39n ± 1%  +2.46% (p=0.000 n=30)   56.47n ±  1%   -2.58% (p=0.000 n=30)
MapAssignFillHint/Key=int32/Elem=bigType/len=6-4                  1.504µ ± 1%   1.490µ ± 0%  -0.90% (p=0.002 n=30)   1.540µ ±  0%   +2.43% (p=0.000 n=30)
MapAssignFillHint/Key=int32/Elem=bigType/len=64-4                 1.610µ ± 0%   1.588µ ± 1%  -1.40% (p=0.000 n=30)   1.640µ ±  0%   +1.83% (p=0.000 n=30)
MapAssignFillHint/Key=int32/Elem=bigType/len=65536-4              2.224µ ± 0%   2.224µ ± 1%       ~ (p=0.941 n=30)   2.214µ ±  1%        ~ (p=0.090 n=30)
MapAssignFillHint/Key=int32/Elem=*int32/len=6-4                   50.34n ± 0%   51.16n ± 0%  +1.62% (p=0.000 n=30)   51.39n ± 25%        ~ (p=1.000 n=30)
MapAssignFillHint/Key=int32/Elem=*int32/len=64-4                  44.57n ± 0%   43.95n ± 0%  -1.40% (p=0.000 n=30)   57.39n ± 15%  +28.75% (p=0.000 n=30)
MapAssignFillHint/Key=int32/Elem=*int32/len=65536-4               74.64n ± 1%   73.89n ± 0%  -1.00% (p=0.014 n=30)   71.48n ±  0%   -4.23% (p=0.000 n=30)
MapAssignFillClear/Key=int32/Elem=int32/len=6-4                   32.96n ± 0%   33.25n ± 0%  +0.88% (p=0.000 n=30)   31.82n ±  0%   -3.46% (p=0.000 n=30)
MapAssignFillClear/Key=int32/Elem=int32/len=64-4                  35.58n ± 0%   34.93n ± 0%  -1.84% (p=0.000 n=30)   33.41n ±  0%   -6.10% (p=0.000 n=30)
MapAssignFillClear/Key=int32/Elem=int32/len=65536-4               50.02n ± 0%   48.65n ± 0%  -2.76% (p=0.000 n=30)   47.25n ±  0%   -5.55% (p=0.000 n=30)
MapAssignFillClear/Key=int64/Elem=int64/len=6-4                   33.32n ± 1%   33.44n ± 0%  +0.35% (p=0.027 n=30)   31.97n ±  0%   -4.05% (p=0.000 n=30)
MapAssignFillClear/Key=int64/Elem=int64/len=64-4                  36.00n ± 0%   35.67n ± 0%  -0.89% (p=0.000 n=30)   33.98n ±  0%   -5.60% (p=0.000 n=30)
MapAssignFillClear/Key=int64/Elem=int64/len=65536-4               50.98n ± 0%   50.81n ± 0%       ~ (p=0.057 n=30)   49.23n ±  0%   -3.42% (p=0.000 n=30)
MapAssignFillClear/Key=int32/Elem=bigType/len=6-4                 1.466µ ± 1%   1.454µ ± 0%  -0.82% (p=0.008 n=30)   1.506µ ±  1%   +2.69% (p=0.000 n=30)
MapAssignFillClear/Key=int32/Elem=bigType/len=64-4                1.580µ ± 1%   1.562µ ± 1%  -1.11% (p=0.007 n=30)   1.624µ ±  1%   +2.82% (p=0.000 n=30)
MapAssignFillClear/Key=int32/Elem=bigType/len=65536-4             2.183µ ± 2%   2.187µ ± 2%       ~ (p=0.982 n=30)   2.124µ ±  3%   -2.70% (p=0.008 n=30)
MapAssignFillClear/Key=int32/Elem=*int32/len=6-4                  33.16n ± 0%   33.41n ± 0%  +0.75% (p=0.000 n=30)   32.08n ±  0%   -3.24% (p=0.000 n=30)
MapAssignFillClear/Key=int32/Elem=*int32/len=64-4                 36.52n ± 0%   35.78n ± 1%  -2.01% (p=0.000 n=30)   34.22n ±  0%   -6.28% (p=0.000 n=30)
MapAssignFillClear/Key=int32/Elem=*int32/len=65536-4              51.00n ± 0%   50.72n ± 0%  -0.54% (p=0.000 n=30)   49.28n ±  0%   -3.37% (p=0.000 n=30)
MapAssignAddition/Key=int32/Elem=int32/len=6-4                    27.22n ± 0%   27.57n ± 0%  +1.29% (p=0.000 n=30)   26.25n ±  0%   -3.60% (p=0.000 n=30)
MapAssignAddition/Key=int32/Elem=int32/len=64-4                   28.96n ± 1%   28.86n ± 1%       ~ (p=0.460 n=30)   27.31n ±  1%   -5.71% (p=0.000 n=30)
MapAssignAddition/Key=int32/Elem=int32/len=65536-4                45.14n ± 0%   44.25n ± 0%  -1.96% (p=0.000 n=30)   43.95n ±  0%   -2.65% (p=0.000 n=30)
MapAssignAddition/Key=int64/Elem=int64/len=6-4                    27.18n ± 0%   27.54n ± 0%  +1.34% (p=0.000 n=30)   25.64n ±  0%   -5.67% (p=0.000 n=30)
MapAssignAddition/Key=int64/Elem=int64/len=64-4                   29.41n ± 1%   28.59n ± 1%  -2.79% (p=0.000 n=30)   27.04n ±  0%   -8.06% (p=0.000 n=30)
MapAssignAddition/Key=int64/Elem=int64/len=65536-4                48.09n ± 0%   47.73n ± 0%  -0.74% (p=0.000 n=30)   46.17n ±  0%   -3.99% (p=0.000 n=30)
MapAssignAppend/Key=int32/Elem=[]int32/len=6-4                    35.97n ± 0%   36.15n ± 0%  +0.50% (p=0.001 n=30)   34.51n ±  0%   -4.07% (p=0.000 n=30)
MapAssignAppend/Key=int32/Elem=[]int32/len=64-4                   41.32n ± 1%   41.04n ± 1%  -0.70% (p=0.012 n=30)   40.32n ±  2%   -2.42% (p=0.000 n=30)
MapAssignAppend/Key=int32/Elem=[]int32/len=65536-4                105.8n ± 0%   105.4n ± 0%  -0.38% (p=0.004 n=30)   104.5n ±  0%   -1.18% (p=0.000 n=30)
MapAssignAppend/Key=int64/Elem=[]int32/len=6-4                    36.48n ± 0%   36.62n ± 0%       ~ (p=0.176 n=30)   34.77n ±  1%   -4.69% (p=0.000 n=30)
MapAssignAppend/Key=int64/Elem=[]int32/len=64-4                   41.41n ± 1%   40.77n ± 1%  -1.56% (p=0.000 n=30)   39.28n ±  0%   -5.16% (p=0.000 n=30)
MapAssignAppend/Key=int64/Elem=[]int32/len=65536-4                105.7n ± 0%   105.9n ± 0%       ~ (p=0.495 n=30)   104.5n ±  0%   -1.09% (p=0.000 n=30)
geomean                                                           110.5n        110.5n       -0.06%                  109.9n         -0.57%

                                                        │      base.stat      │               asm.stat              │         simd-intrinsics.stat         │
                                                        │     p100-sec/op     │ p100-sec/op   vs base               │ p100-sec/op   vs base                │
MapAssignGrowLatency/Key=int32/Elem=int32/len=6-4                478.9µ ±  1%   478.8µ ±  0%       ~ (p=0.982 n=30)   478.7µ ±  0%        ~ (p=0.654 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=64-4               479.3µ ±  1%   482.5µ ±  1%  +0.67% (p=0.039 n=30)   483.3µ ±  1%   +0.85% (p=0.006 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=65536-4            512.1µ ±  1%   511.7µ ±  0%       ~ (p=0.676 n=30)   511.2µ ±  1%        ~ (p=0.335 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=6-4                476.0µ ±  1%   478.4µ ±  0%       ~ (p=0.192 n=30)   477.3µ ±  0%        ~ (p=0.254 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=64-4               474.9µ ±  0%   476.8µ ±  0%  +0.39% (p=0.022 n=30)   469.9µ ± 74%   -1.05% (p=0.003 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=65536-4            517.0µ ±  1%   517.0µ ±  1%       ~ (p=0.854 n=30)   513.4µ ±  1%        ~ (p=0.091 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=6-4              188.2µ ± 67%   148.7µ ± 38%       ~ (p=0.116 n=30)   159.5µ ± 18%        ~ (p=0.307 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=64-4             313.6µ ± 37%   287.9µ ± 35%       ~ (p=0.936 n=30)   175.5µ ± 18%  -44.03% (p=0.001 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=65536-4          510.6µ ±  1%   506.8µ ±  1%       ~ (p=0.843 n=30)   517.0µ ±  9%        ~ (p=0.730 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=6-4               475.6µ ±  0%   475.5µ ±  0%       ~ (p=0.832 n=30)   475.9µ ±  1%        ~ (p=0.552 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=64-4              474.2µ ±  1%   471.9µ ±  1%       ~ (p=0.124 n=30)   346.7µ ± 55%        ~ (p=0.085 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=65536-4           536.3µ ±  3%   520.8µ ±  4%       ~ (p=0.485 n=30)   518.4µ ±  4%        ~ (p=0.321 n=30)
geomean                                                          438.2µ         425.6µ        -2.86%                  400.2µ         -8.67%

                                                        │      base.stat      │               asm.stat              │         simd-intrinsics.stat         │
                                                        │     p50-sec/op      │ p50-sec/op   vs base                 │ p50-sec/op   vs base                │
MapAssignGrowLatency/Key=int32/Elem=int32/len=6-4                 47.00n ± 0%   47.00n ± 0%   0.00% (p=0.047 n=30)     45.00n ± 0%   -4.26% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=64-4                54.00n ± 0%   53.00n ± 0%  -1.85% (p=0.000 n=30)     51.00n ± 0%   -5.56% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=65536-4             77.00n ± 0%   76.00n ± 1%  -1.30% (p=0.000 n=30)     75.00n ± 0%   -2.60% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=6-4                 48.00n ± 2%   48.00n ± 0%   0.00% (p=0.000 n=30)     45.00n ± 0%   -6.25% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=64-4                54.00n ± 0%   55.00n ± 2%  +1.85% (p=0.000 n=30)     51.00n ± 0%   -5.56% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=65536-4             80.00n ± 0%   80.00n ± 0%   0.00% (p=0.017 n=30)     78.00n ± 0%   -2.50% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=6-4               819.0n ± 0%   811.0n ± 0%  -0.98% (p=0.000 n=30)     918.5n ± 0%  +12.15% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=64-4              910.0n ± 1%   911.0n ± 1%       ~ (p=0.801 n=30)     908.0n ± 1%        ~ (p=0.386 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=65536-4           1.786µ ± 0%   1.794µ ± 1%       ~ (p=0.615 n=30)     1.799µ ± 1%        ~ (p=0.198 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=6-4                48.00n ± 0%   48.00n ± 0%       ~ (p=1.000 n=30) ¹   45.00n ± 0%   -6.25% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=64-4               54.00n ± 0%   55.00n ± 0%  +1.85% (p=0.000 n=30)     51.00n ± 0%   -5.56% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=65536-4            82.00n ± 0%   81.00n ± 0%  -1.22% (p=0.000 n=30)     80.00n ± 0%   -2.44% (p=0.000 n=30)
geomean                                                           122.5n        122.4n       -0.10%                    119.5n        -2.47%
¹ all samples are equal

                                                        │      base.stat      │              asm.stat              │       simd-intrinsics.stat         │
                                                        │     p99-sec/op      │ p99-sec/op   vs base               │ p99-sec/op   vs base               │
MapAssignGrowLatency/Key=int32/Elem=int32/len=6-4                 135.5n ± 3%   130.0n ± 8%  -4.06% (p=0.000 n=30)   117.0n ± 3%       ~ (p=0.073 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=64-4                1.942µ ± 0%   2.025µ ± 0%  +4.27% (p=0.000 n=30)   1.944µ ± 0%  +0.13% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=65536-4             177.0n ± 1%   171.0n ± 0%  -3.39% (p=0.000 n=30)   192.0n ± 1%  +8.47% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=6-4                 182.0n ± 0%   181.5n ± 0%  -0.27% (p=0.002 n=30)   178.0n ± 1%  -2.20% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=64-4                2.421µ ± 0%   2.509µ ± 0%  +3.63% (p=0.000 n=30)   2.424µ ± 0%  +0.12% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=65536-4             192.0n ± 1%   193.0n ± 0%       ~ (p=0.384 n=30)   187.0n ± 0%  -2.60% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=6-4               5.293µ ± 1%   5.170µ ± 1%  -2.33% (p=0.000 n=30)   5.656µ ± 1%  +6.85% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=64-4              5.973µ ± 1%   5.910µ ± 0%  -1.05% (p=0.000 n=30)   5.981µ ± 0%       ~ (p=0.579 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=65536-4           9.300µ ± 0%   9.255µ ± 0%       ~ (p=0.363 n=30)   9.302µ ± 1%       ~ (p=0.549 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=6-4                190.0n ± 1%   186.0n ± 1%  -2.11% (p=0.000 n=30)   182.0n ± 1%  -4.21% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=64-4               2.419µ ± 0%   2.504µ ± 0%  +3.51% (p=0.000 n=30)   2.421µ ± 0%  +0.08% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=65536-4            196.0n ± 0%   196.0n ± 0%       ~ (p=0.632 n=30)   191.0n ± 1%  -2.55% (p=0.000 n=30)
geomean                                                           828.3n        826.9n       -0.18%                  820.7n       -0.93%

                                                        │      base.stat      │               asm.stat              │         simd-intrinsics.stat        │
                                                        │    p99.9-sec/op     │ p99.9-sec/op  vs base               │ p99.9-sec/op  vs base               │
MapAssignGrowLatency/Key=int32/Elem=int32/len=6-4                 761.0n ± 1%    754.0n ± 1%  -0.92% (p=0.003 n=30)    748.0n ± 1%  -1.71% (p=0.001 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=64-4                2.794µ ± 1%    2.854µ ± 0%  +2.17% (p=0.000 n=30)    2.753µ ± 1%  -1.47% (p=0.007 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=65536-4             33.79µ ± 0%    34.44µ ± 0%  +1.92% (p=0.000 n=30)    34.22µ ± 0%  +1.27% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=6-4                 981.0n ± 1%    957.0n ± 0%  -2.45% (p=0.000 n=30)    956.0n ± 1%  -2.55% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=64-4                3.667µ ± 1%    3.705µ ± 1%       ~ (p=0.209 n=30)    3.746µ ± 1%  +2.15% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=65536-4             38.02µ ± 0%    40.99µ ± 0%  +7.80% (p=0.000 n=30)    38.49µ ± 0%  +1.23% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=6-4               26.73µ ± 8%    25.65µ ± 1%  -4.04% (p=0.000 n=30)    28.77µ ± 4%  +7.62% (p=0.001 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=64-4              31.42µ ± 1%    30.65µ ± 1%  -2.45% (p=0.000 n=30)    30.85µ ± 0%  -1.81% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=65536-4           68.13µ ± 2%    65.55µ ± 4%       ~ (p=0.168 n=30)    67.19µ ± 5%       ~ (p=0.081 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=6-4                1.114µ ± 1%    1.087µ ± 0%  -2.42% (p=0.000 n=30)    1.094µ ± 1%  -1.75% (p=0.006 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=64-4               3.762µ ± 0%    3.815µ ± 0%  +1.41% (p=0.000 n=30)    3.770µ ± 0%       ~ (p=0.496 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=65536-4            38.18µ ± 0%    38.88µ ± 0%  +1.83% (p=0.000 n=30)    38.56µ ± 0%  +0.99% (p=0.000 n=30)
geomean                                                           8.181µ         8.177µ       -0.04%                   8.197µ       +0.20%

                                                        │      base.stat      │               asm.stat                │         simd-intrinsics.stat          │
                                                        │    p99.99-sec/op    │ p99.99-sec/op  vs base                │ p99.99-sec/op  vs base                │
MapAssignGrowLatency/Key=int32/Elem=int32/len=6-4                4.621µ ±  3%    4.452µ ±  3%   -3.67% (p=0.005 n=30)    4.365µ ±  1%   -5.55% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=64-4               6.991µ ±  0%    7.157µ ±  1%   +2.38% (p=0.000 n=30)    7.067µ ±  1%   +1.09% (p=0.004 n=30)
MapAssignGrowLatency/Key=int32/Elem=int32/len=65536-4            40.84µ ±  1%    41.55µ ±  1%   +1.72% (p=0.000 n=30)    41.45µ ±  1%   +1.48% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=6-4                5.418µ ±  4%    5.086µ ±  1%   -6.13% (p=0.000 n=30)    5.086µ ±  2%   -6.12% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=64-4               7.858µ ±  1%    7.995µ ±  1%   +1.75% (p=0.000 n=30)    8.031µ ±  1%   +2.21% (p=0.000 n=30)
MapAssignGrowLatency/Key=int64/Elem=int64/len=65536-4            49.20µ ±  1%    52.58µ ±  1%   +6.87% (p=0.000 n=30)    50.36µ ±  1%   +2.37% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=6-4              55.21µ ± 24%    42.44µ ±  7%  -23.13% (p=0.000 n=30)    49.61µ ± 33%        ~ (p=0.644 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=64-4             67.53µ ±  4%    52.22µ ± 31%  -22.67% (p=0.006 n=30)    56.80µ ± 16%  -15.88% (p=0.003 n=30)
MapAssignGrowLatency/Key=int32/Elem=bigType/len=65536-4          470.5µ ±  0%    470.4µ ±  0%        ~ (p=0.853 n=30)    470.7µ ±  0%        ~ (p=0.158 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=6-4               5.369µ ±  3%    5.035µ ±  2%   -6.22% (p=0.000 n=30)    5.269µ ±  3%   -1.87% (p=0.039 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=64-4              7.932µ ±  1%    8.045µ ±  1%   +1.42% (p=0.000 n=30)    8.066µ ±  0%   +1.70% (p=0.000 n=30)
MapAssignGrowLatency/Key=int32/Elem=*int32/len=65536-4           50.39µ ±  1%    51.18µ ±  0%   +1.56% (p=0.000 n=30)    50.74µ ±  0%   +0.69% (p=0.001 n=30)
geomean                                                          21.61µ          20.68µ         -4.33%                   21.04µ         -2.66%

Change-Id: I7d48651c22eb61b887ffda08287945f419ebff3b
Reviewed-on: https://go-review.googlesource.com/c/go/+/753740
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
@pull pull Bot locked and limited conversation to collaborators May 10, 2026
@pull pull Bot added the ⤵️ pull label May 10, 2026
@pull pull Bot merged commit 21bd132 into trailofbits:master May 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants