Skip to content

Conversation

ruslan-mikhailov
Copy link
Contributor

@ruslan-mikhailov ruslan-mikhailov commented Feb 14, 2025

What this PR does:

Continues #4685

  1. Update go to v1.24.0
  2. Use new version on linter image that supports go1.24
  3. Minor fixes for go update

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

@joe-elliott
Copy link
Collaborator

benches of our traceql benchmark are showing mostly small improvements. nice!

benches
goos: darwin
goarch: arm64
pkg: github.com/grafana/tempo/tempodb/encoding/vparquet4
cpu: Apple M3 Pro
                                                    │ before.txt  │          after-go1.24.txt          │
                                                    │   sec/op    │   sec/op     vs base               │
BackendBlockTraceQL/spanAttValMatch-11                82.76m ± 1%   80.39m ± 0%  -2.87% (p=0.000 n=10)
BackendBlockTraceQL/spanAttValNoMatch-11              5.468m ± 1%   5.396m ± 1%  -1.31% (p=0.003 n=10)
BackendBlockTraceQL/spanAttIntrinsicMatch-11          58.59m ± 0%   57.26m ± 0%  -2.26% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicNoMatch-11        5.383m ± 2%   5.264m ± 1%  -2.21% (p=0.001 n=10)
BackendBlockTraceQL/resourceAttValMatch-11            394.6m ± 1%   381.7m ± 1%  -3.26% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValNoMatch-11          5.095m ± 0%   4.939m ± 1%  -3.06% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch-11      24.86m ± 0%   24.40m ± 0%  -1.82% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-11   5.170m ± 0%   5.034m ± 0%  -2.63% (p=0.000 n=10)
BackendBlockTraceQL/traceOrMatch-11                   240.7m ± 1%   241.3m ± 1%       ~ (p=0.075 n=10)
BackendBlockTraceQL/traceOrNoMatch-11                 241.4m ± 0%   241.7m ± 0%       ~ (p=0.218 n=10)
BackendBlockTraceQL/mixedValNoMatch-11                178.4m ± 0%   182.9m ± 0%  +2.52% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchAnd-11          5.009m ± 1%   4.871m ± 0%  -2.75% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchOr-11           148.5m ± 0%   150.9m ± 0%  +1.62% (p=0.000 n=10)
BackendBlockTraceQL/count-11                          328.5m ± 0%   318.8m ± 2%  -2.97% (p=0.000 n=10)
BackendBlockTraceQL/struct-11                         429.4m ± 2%   426.7m ± 1%       ~ (p=0.190 n=10)
BackendBlockTraceQL/||-11                             152.5m ± 0%   153.7m ± 0%  +0.78% (p=0.000 n=10)
BackendBlockTraceQL/mixed-11                          25.34m ± 0%   25.15m ± 0%  -0.74% (p=0.000 n=10)
BackendBlockTraceQL/complex-11                        4.975m ± 1%   4.913m ± 1%  -1.25% (p=0.002 n=10)
BackendBlockTraceQL/select-11                         5.009m ± 1%   4.926m ± 1%  -1.66% (p=0.000 n=10)
geomean                                               40.72m        40.20m       -1.28%

                                                    │  before.txt  │          after-go1.24.txt           │
                                                    │     B/s      │     B/s       vs base               │
BackendBlockTraceQL/spanAttValMatch-11                270.6Mi ± 1%   278.6Mi ± 0%  +2.96% (p=0.000 n=10)
BackendBlockTraceQL/spanAttValNoMatch-11              309.0Mi ± 1%   313.1Mi ± 1%  +1.32% (p=0.003 n=10)
BackendBlockTraceQL/spanAttIntrinsicMatch-11          397.6Mi ± 0%   406.8Mi ± 0%  +2.31% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicNoMatch-11        460.2Mi ± 2%   470.6Mi ± 1%  +2.26% (p=0.001 n=10)
BackendBlockTraceQL/resourceAttValMatch-11            55.69Mi ± 1%   57.57Mi ± 1%  +3.37% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValNoMatch-11          176.5Mi ± 0%   182.1Mi ± 1%  +3.16% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch-11      885.8Mi ± 0%   902.2Mi ± 0%  +1.85% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-11   180.6Mi ± 0%   185.5Mi ± 0%  +2.70% (p=0.000 n=10)
BackendBlockTraceQL/traceOrMatch-11                   6.948Mi ± 0%   6.928Mi ± 1%       ~ (p=0.097 n=10)
BackendBlockTraceQL/traceOrNoMatch-11                 6.924Mi ± 0%   6.919Mi ± 0%       ~ (p=0.255 n=10)
BackendBlockTraceQL/mixedValNoMatch-11                11.05Mi ± 0%   10.78Mi ± 0%  -2.46% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchAnd-11          178.2Mi ± 1%   183.3Mi ± 0%  +2.83% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchOr-11           18.57Mi ± 0%   18.28Mi ± 0%  -1.59% (p=0.000 n=10)
BackendBlockTraceQL/count-11                          66.86Mi ± 0%   68.91Mi ± 2%  +3.07% (p=0.000 n=10)
BackendBlockTraceQL/struct-11                         12.72Mi ± 2%   12.80Mi ± 1%       ~ (p=0.183 n=10)
BackendBlockTraceQL/||-11                             144.8Mi ± 0%   143.6Mi ± 0%  -0.78% (p=0.000 n=10)
BackendBlockTraceQL/mixed-11                          843.2Mi ± 0%   849.5Mi ± 0%  +0.75% (p=0.000 n=10)
BackendBlockTraceQL/complex-11                        180.9Mi ± 1%   183.2Mi ± 1%  +1.27% (p=0.002 n=10)
BackendBlockTraceQL/select-11                         179.7Mi ± 1%   182.7Mi ± 1%  +1.68% (p=0.000 n=10)
geomean                                               101.9Mi        103.2Mi       +1.30%

                                                    │ before.txt  │           after-go1.24.txt           │
                                                    │  MB_io/op   │  MB_io/op    vs base                 │
BackendBlockTraceQL/spanAttValMatch-11                 23.48 ± 0%    23.48 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/spanAttValNoMatch-11               1.772 ± 0%    1.772 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/spanAttIntrinsicMatch-11           24.43 ± 0%    24.43 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/spanAttIntrinsicNoMatch-11         2.598 ± 0%    2.598 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/resourceAttValMatch-11             23.04 ± 0%    23.04 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/resourceAttValNoMatch-11          943.2m ± 0%   943.2m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/resourceAttIntrinsicMatch-11       23.09 ± 0%    23.09 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-11   979.0m ± 0%   979.0m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/traceOrMatch-11                    1.753 ± 0%    1.753 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/traceOrNoMatch-11                  1.753 ± 0%    1.753 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/mixedValNoMatch-11                 2.067 ± 0%    2.067 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/mixedValMixedMatchAnd-11          936.1m ± 0%   936.1m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/mixedValMixedMatchOr-11            2.893 ± 0%    2.893 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/count-11                           23.03 ± 0%    23.03 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/struct-11                          5.726 ± 0%    5.726 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/||-11                              23.14 ± 0%    23.14 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/mixed-11                           22.40 ± 0%    22.40 ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/complex-11                        943.7m ± 0%   943.7m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/select-11                         943.7m ± 0%   943.7m ± 0%       ~ (p=1.000 n=10) ¹
geomean                                                4.351         4.351       +0.00%
¹ all samples are equal

                                                    │   before.txt   │           after-go1.24.txt            │
                                                    │      B/op      │      B/op       vs base               │
BackendBlockTraceQL/spanAttValMatch-11                 45.28Mi ±  1%    45.20Mi ±  1%       ~ (p=0.684 n=10)
BackendBlockTraceQL/spanAttValNoMatch-11               6.693Mi ±  1%    6.710Mi ±  1%       ~ (p=1.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicMatch-11           39.78Mi ±  1%    39.74Mi ±  1%       ~ (p=0.529 n=10)
BackendBlockTraceQL/spanAttIntrinsicNoMatch-11         7.021Mi ±  2%    7.044Mi ±  1%       ~ (p=0.971 n=10)
BackendBlockTraceQL/resourceAttValMatch-11             576.8Mi ±  0%    575.9Mi ±  0%       ~ (p=0.143 n=10)
BackendBlockTraceQL/resourceAttValNoMatch-11           5.308Mi ±  1%    5.299Mi ±  2%       ~ (p=0.796 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch-11       10.52Mi ±  1%    10.56Mi ±  1%       ~ (p=0.105 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-11    6.768Mi ±  1%    6.763Mi ±  0%       ~ (p=0.684 n=10)
BackendBlockTraceQL/traceOrMatch-11                    9.428Mi ± 20%   10.706Mi ± 19%       ~ (p=0.579 n=10)
BackendBlockTraceQL/traceOrNoMatch-11                 10.016Mi ± 23%    9.695Mi ± 14%       ~ (p=0.684 n=10)
BackendBlockTraceQL/mixedValNoMatch-11                 8.002Mi ± 11%    8.247Mi ± 13%       ~ (p=0.393 n=10)
BackendBlockTraceQL/mixedValMixedMatchAnd-11           5.743Mi ±  1%    5.762Mi ±  1%       ~ (p=0.481 n=10)
BackendBlockTraceQL/mixedValMixedMatchOr-11            7.971Mi ±  8%    7.913Mi ±  9%       ~ (p=0.579 n=10)
BackendBlockTraceQL/count-11                           418.7Mi ±  0%    418.4Mi ±  0%       ~ (p=0.353 n=10)
BackendBlockTraceQL/struct-11                          13.66Mi ± 17%    13.41Mi ± 21%       ~ (p=0.684 n=10)
BackendBlockTraceQL/||-11                              16.74Mi ±  5%    16.76Mi ±  4%       ~ (p=0.853 n=10)
BackendBlockTraceQL/mixed-11                           7.048Mi ±  3%    6.940Mi ±  1%  -1.53% (p=0.011 n=10)
BackendBlockTraceQL/complex-11                         5.613Mi ±  1%    5.647Mi ±  1%       ~ (p=0.315 n=10)
BackendBlockTraceQL/select-11                          5.554Mi ±  2%    5.696Mi ±  3%  +2.56% (p=0.015 n=10)
geomean                                                14.61Mi          14.70Mi        +0.64%

                                                    │ before.txt  │          after-go1.24.txt          │
                                                    │  allocs/op  │  allocs/op   vs base               │
BackendBlockTraceQL/spanAttValMatch-11                503.6k ± 0%   503.5k ± 0%  -0.02% (p=0.000 n=10)
BackendBlockTraceQL/spanAttValNoMatch-11              79.47k ± 0%   79.48k ± 0%  +0.01% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicMatch-11          288.1k ± 0%   288.1k ± 0%  +0.00% (p=0.008 n=10)
BackendBlockTraceQL/spanAttIntrinsicNoMatch-11        79.42k ± 0%   79.44k ± 0%  +0.01% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValMatch-11            3.450M ± 0%   3.450M ± 0%  -0.00% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValNoMatch-11          79.47k ± 0%   79.48k ± 0%  +0.01% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch-11      126.1k ± 0%   126.1k ± 0%  +0.01% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-11   79.46k ± 0%   79.47k ± 0%  +0.01% (p=0.000 n=10)
BackendBlockTraceQL/traceOrMatch-11                   86.53k ± 2%   86.76k ± 1%       ~ (p=0.631 n=10)
BackendBlockTraceQL/traceOrNoMatch-11                 86.36k ± 0%   86.36k ± 0%       ~ (p=0.288 n=10)
BackendBlockTraceQL/mixedValNoMatch-11                80.29k ± 0%   80.31k ± 0%       ~ (p=0.066 n=10)
BackendBlockTraceQL/mixedValMixedMatchAnd-11          79.46k ± 0%   79.47k ± 0%  +0.01% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchOr-11           80.29k ± 0%   80.28k ± 0%       ~ (p=0.425 n=10)
BackendBlockTraceQL/count-11                          1.991M ± 0%   1.990M ± 0%  -0.00% (p=0.000 n=10)
BackendBlockTraceQL/struct-11                         93.63k ± 7%   93.58k ± 2%       ~ (p=0.796 n=10)
BackendBlockTraceQL/||-11                             161.9k ± 0%   161.9k ± 0%       ~ (p=0.403 n=10)
BackendBlockTraceQL/mixed-11                          87.86k ± 0%   87.95k ± 0%  +0.11% (p=0.000 n=10)
BackendBlockTraceQL/complex-11                        79.82k ± 0%   79.83k ± 0%  +0.01% (p=0.000 n=10)
BackendBlockTraceQL/select-11                         79.70k ± 0%   79.71k ± 0%  +0.02% (p=0.000 n=10)
geomean

@ruslan-mikhailov
Copy link
Contributor Author

ruslan-mikhailov commented Feb 17, 2025

Tested on Linux with go versions 1.23.3 (main branch) and 1.24.0 (current branch). 5% improvement in sec/op and B/s

Linux benchmarks
goos: linux
goarch: amd64
pkg: github.com/grafana/tempo/tempodb/encoding/vparquet4
cpu: AMD Ryzen 5 7600X 6-Core Processor             
                                                  │ before.txt  │             after.txt              │
                                                  │   sec/op    │   sec/op     vs base               │
BackendBlockTraceQL/spanAttValMatch-12                539.6µ ± 1%   512.2µ ± 1%  -5.08% (p=0.000 n=10)
BackendBlockTraceQL/spanAttValNoMatch-12              543.6µ ± 1%   511.2µ ± 1%  -5.97% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicMatch-12          539.1µ ± 1%   509.8µ ± 1%  -5.43% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicNoMatch-12        536.6µ ± 1%   506.0µ ± 1%  -5.70% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValMatch-12            542.4µ ± 1%   509.2µ ± 1%  -6.13% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValNoMatch-12          538.8µ ± 1%   511.9µ ± 1%  -4.99% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch-12      541.8µ ± 1%   510.9µ ± 1%  -5.71% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-12   539.3µ ± 1%   510.5µ ± 1%  -5.33% (p=0.000 n=10)
BackendBlockTraceQL/traceOrMatch-12                   549.1µ ± 1%   518.4µ ± 1%  -5.60% (p=0.000 n=10)
BackendBlockTraceQL/traceOrNoMatch-12                 547.8µ ± 1%   519.8µ ± 1%  -5.11% (p=0.000 n=10)
BackendBlockTraceQL/mixedValNoMatch-12                542.4µ ± 2%   512.4µ ± 1%  -5.53% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchAnd-12          543.2µ ± 1%   514.8µ ± 1%  -5.24% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchOr-12           546.3µ ± 0%   516.3µ ± 1%  -5.48% (p=0.000 n=10)
BackendBlockTraceQL/count-12                          539.0µ ± 0%   505.8µ ± 1%  -6.17% (p=0.000 n=10)
BackendBlockTraceQL/struct-12                         555.8µ ± 0%   523.6µ ± 1%  -5.79% (p=0.000 n=10)
BackendBlockTraceQL/||-12                             547.5µ ± 1%   511.7µ ± 1%  -6.53% (p=0.000 n=10)
BackendBlockTraceQL/mixed-12                          568.5µ ± 1%   536.7µ ± 1%  -5.59% (p=0.000 n=10)
BackendBlockTraceQL/complex-12                        578.3µ ± 0%   545.5µ ± 1%  -5.66% (p=0.000 n=10)
BackendBlockTraceQL/select-12                         566.9µ ± 0%   529.9µ ± 0%  -6.51% (p=0.000 n=10)
geomean                                               547.6µ        516.6µ       -5.66%

                                                  │  before.txt  │              after.txt               │
                                                  │     B/s      │      B/s       vs base               │
BackendBlockTraceQL/spanAttValMatch-12                101.8Mi ± 1%    107.3Mi ± 1%  +5.35% (p=0.000 n=10)
BackendBlockTraceQL/spanAttValNoMatch-12              101.1Mi ± 1%    107.5Mi ± 1%  +6.35% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicMatch-12          101.9Mi ± 1%    107.8Mi ± 1%  +5.74% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicNoMatch-12        102.4Mi ± 1%    108.6Mi ± 1%  +6.04% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValMatch-12            101.3Mi ± 1%    107.9Mi ± 1%  +6.53% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValNoMatch-12          102.0Mi ± 1%    107.4Mi ± 1%  +5.25% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch-12      101.4Mi ± 1%    107.6Mi ± 1%  +6.05% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-12   101.9Mi ± 1%    107.7Mi ± 1%  +5.63% (p=0.000 n=10)
BackendBlockTraceQL/traceOrMatch-12                   100.1Mi ± 1%    106.0Mi ± 1%  +5.93% (p=0.000 n=10)
BackendBlockTraceQL/traceOrNoMatch-12                 100.3Mi ± 1%    105.7Mi ± 1%  +5.39% (p=0.000 n=10)
BackendBlockTraceQL/mixedValNoMatch-12                101.3Mi ± 2%    107.3Mi ± 1%  +5.85% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchAnd-12          101.2Mi ± 1%    106.8Mi ± 1%  +5.53% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchOr-12           100.6Mi ± 0%    106.4Mi ± 1%  +5.80% (p=0.000 n=10)
BackendBlockTraceQL/count-12                          102.0Mi ± 0%    108.7Mi ± 1%  +6.58% (p=0.000 n=10)
BackendBlockTraceQL/struct-12                         98.88Mi ± 0%   104.96Mi ± 1%  +6.15% (p=0.000 n=10)
BackendBlockTraceQL/||-12                             100.4Mi ± 1%    107.4Mi ± 1%  +6.99% (p=0.000 n=10)
BackendBlockTraceQL/mixed-12                          96.68Mi ± 1%   102.41Mi ± 1%  +5.92% (p=0.000 n=10)
BackendBlockTraceQL/complex-12                        95.03Mi ± 0%   100.74Mi ± 1%  +6.01% (p=0.000 n=10)
BackendBlockTraceQL/select-12                         96.96Mi ± 0%   103.70Mi ± 0%  +6.96% (p=0.000 n=10)
geomean                                               100.4Mi         106.4Mi       +6.00%

                                                  │ before.txt  │              after.txt               │
                                                  │  MB_io/op   │  MB_io/op    vs base                 │
BackendBlockTraceQL/spanAttValMatch-12                57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/spanAttValNoMatch-12              57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/spanAttIntrinsicMatch-12          57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/spanAttIntrinsicNoMatch-12        57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/resourceAttValMatch-12            57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/resourceAttValNoMatch-12          57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/resourceAttIntrinsicMatch-12      57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-12   57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/traceOrMatch-12                   57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/traceOrNoMatch-12                 57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/mixedValNoMatch-12                57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/mixedValMixedMatchAnd-12          57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/mixedValMixedMatchOr-12           57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/count-12                          57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/struct-12                         57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/||-12                             57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/mixed-12                          57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/complex-12                        57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
BackendBlockTraceQL/select-12                         57.63m ± 0%   57.63m ± 0%       ~ (p=1.000 n=10) ¹
geomean                                               57.63m        57.63m       +0.00%
¹ all samples are equal

                                                  │  before.txt  │              after.txt              │
                                                  │     B/op     │     B/op      vs base               │
BackendBlockTraceQL/spanAttValMatch-12                522.6Ki ± 0%   522.9Ki ± 0%  +0.06% (p=0.000 n=10)
BackendBlockTraceQL/spanAttValNoMatch-12              524.9Ki ± 0%   525.2Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicMatch-12          521.2Ki ± 0%   521.5Ki ± 0%  +0.06% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicNoMatch-12        521.2Ki ± 0%   521.6Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValMatch-12            523.9Ki ± 0%   524.3Ki ± 0%  +0.06% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValNoMatch-12          523.8Ki ± 0%   524.2Ki ± 0%  +0.06% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch-12      523.7Ki ± 0%   524.1Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-12   523.8Ki ± 0%   524.2Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/traceOrMatch-12                   530.0Ki ± 0%   530.4Ki ± 0%  +0.08% (p=0.000 n=10)
BackendBlockTraceQL/traceOrNoMatch-12                 530.0Ki ± 0%   530.3Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/mixedValNoMatch-12                529.0Ki ± 0%   529.3Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchAnd-12          527.0Ki ± 0%   527.4Ki ± 0%  +0.08% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchOr-12           528.1Ki ± 0%   528.6Ki ± 0%  +0.08% (p=0.000 n=10)
BackendBlockTraceQL/count-12                          521.7Ki ± 0%   522.1Ki ± 0%  +0.08% (p=0.000 n=10)
BackendBlockTraceQL/struct-12                         533.3Ki ± 0%   533.6Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/||-12                             527.7Ki ± 0%   528.1Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/mixed-12                          540.7Ki ± 0%   541.1Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/complex-12                        550.2Ki ± 0%   550.5Ki ± 0%  +0.07% (p=0.000 n=10)
BackendBlockTraceQL/select-12                         538.9Ki ± 0%   539.3Ki ± 0%  +0.07% (p=0.000 n=10)
geomean                                               528.5Ki        528.8Ki       +0.07%

                                                  │ before.txt  │             after.txt              │
                                                  │  allocs/op  │  allocs/op   vs base               │
BackendBlockTraceQL/spanAttValMatch-12                7.343k ± 0%   7.352k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/spanAttValNoMatch-12              7.358k ± 0%   7.367k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicMatch-12          7.319k ± 0%   7.328k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/spanAttIntrinsicNoMatch-12        7.319k ± 0%   7.328k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValMatch-12            7.359k ± 0%   7.369k ± 0%  +0.14% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttValNoMatch-12          7.351k ± 0%   7.360k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch-12      7.351k ± 0%   7.361k ± 0%  +0.13% (p=0.000 n=10)
BackendBlockTraceQL/resourceAttIntrinsicMatch#01-12   7.352k ± 0%   7.361k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/traceOrMatch-12                   7.433k ± 0%   7.442k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/traceOrNoMatch-12                 7.433k ± 0%   7.442k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/mixedValNoMatch-12                7.408k ± 0%   7.417k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchAnd-12          7.398k ± 0%   7.407k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/mixedValMixedMatchOr-12           7.410k ± 0%   7.419k ± 0%  +0.13% (p=0.000 n=10)
BackendBlockTraceQL/count-12                          7.320k ± 0%   7.330k ± 0%  +0.14% (p=0.000 n=10)
BackendBlockTraceQL/struct-12                         7.498k ± 0%   7.507k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/||-12                             7.418k ± 0%   7.427k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/mixed-12                          7.600k ± 0%   7.610k ± 0%  +0.13% (p=0.000 n=10)
BackendBlockTraceQL/complex-12                        7.703k ± 0%   7.712k ± 0%  +0.12% (p=0.000 n=10)
BackendBlockTraceQL/select-12                         7.582k ± 0%   7.591k ± 0%  +0.12% (p=0.000 n=10)
geomean                                               7.418k        7.427k       +0.12%

@mapno mapno merged commit 115795f into grafana:main Feb 17, 2025
14 checks passed
@ruslan-mikhailov ruslan-mikhailov deleted the go1.24.0 branch February 17, 2025 14:30
@joe-elliott
Copy link
Collaborator

Wow...nice benches. Love this upgrade. Can go give us 5% improvements every release ;)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants