Skip to content

Instantly share code, notes, and snippets.

@aramase
Last active October 26, 2023 21:31
Show Gist options
  • Select an option

  • Save aramase/1310b2d89cc28f8cf1846748ea3c2435 to your computer and use it in GitHub Desktop.

Select an option

Save aramase/1310b2d89cc28f8cf1846748ea3c2435 to your computer and use it in GitHub Desktop.
Benchmarking for KMSv2 tracing
goos: linux
goarch: amd64
pkg: k8s.io/kubernetes/test/integration/controlplane/transformation
cpu: AMD EPYC 7763 64-Core Processor
BenchmarkKMSv2REST-8 1 21497622897 ns/op 27747569264 B/op 3422094 allocs/op
BenchmarkKMSv2REST-8 1 21135845506 ns/op 27742618200 B/op 3402804 allocs/op
BenchmarkKMSv2REST-8 1 21673067043 ns/op 27736553824 B/op 3398383 allocs/op
BenchmarkKMSv2REST-8 1 21931368888 ns/op 27742958960 B/op 3400567 allocs/op
BenchmarkKMSv2REST-8 1 22107876172 ns/op 27740853328 B/op 3404301 allocs/op
BenchmarkKMSv2REST-8 1 21306196853 ns/op 27742975296 B/op 3401799 allocs/op
BenchmarkKMSv2REST-8 1 21325461513 ns/op 27745102376 B/op 3401559 allocs/op
BenchmarkKMSv2REST-8 1 21990322370 ns/op 27743753600 B/op 3405208 allocs/op
BenchmarkKMSv2REST-8 1 20708847090 ns/op 27738789640 B/op 3409063 allocs/op
BenchmarkKMSv2REST-8 1 22375068709 ns/op 27742047792 B/op 3417191 allocs/op
PASS
ok k8s.io/kubernetes/test/integration/controlplane/transformation 286.066s
goos: linux
goarch: amd64
pkg: k8s.io/kubernetes/test/integration/controlplane/transformation
cpu: AMD EPYC 7763 64-Core Processor
BenchmarkKMSv2REST-8 1 20797450931 ns/op 27742444712 B/op 3360986 allocs/op
BenchmarkKMSv2REST-8 1 23993247608 ns/op 27741416296 B/op 3346500 allocs/op
BenchmarkKMSv2REST-8 1 22398437363 ns/op 27741609872 B/op 3343187 allocs/op
BenchmarkKMSv2REST-8 1 21545054777 ns/op 27736610640 B/op 3342014 allocs/op
BenchmarkKMSv2REST-8 1 21591932908 ns/op 27738142928 B/op 3343655 allocs/op
BenchmarkKMSv2REST-8 1 21538391929 ns/op 27738984832 B/op 3341957 allocs/op
BenchmarkKMSv2REST-8 1 23017097368 ns/op 27735652912 B/op 3348042 allocs/op
BenchmarkKMSv2REST-8 1 21012544290 ns/op 27738954640 B/op 3343378 allocs/op
BenchmarkKMSv2REST-8 1 21874010173 ns/op 27738007096 B/op 3341541 allocs/op
BenchmarkKMSv2REST-8 1 21878858067 ns/op 27739576888 B/op 3344436 allocs/op
PASS
ok k8s.io/kubernetes/test/integration/controlplane/transformation 337.030s
goos: linux
goarch: amd64
pkg: k8s.io/kubernetes/test/integration/controlplane/transformation
cpu: AMD EPYC 7763 64-Core Processor
BenchmarkKMSv2KDF-8 1 17558872438 ns/op 17202967440 B/op 1193445 allocs/op
BenchmarkKMSv2KDF-8 1 16166458221 ns/op 17201048392 B/op 1187898 allocs/op
BenchmarkKMSv2KDF-8 1 16170976367 ns/op 17200953616 B/op 1185309 allocs/op
BenchmarkKMSv2KDF-8 1 16080185065 ns/op 17200531352 B/op 1185334 allocs/op
BenchmarkKMSv2KDF-8 1 14872427732 ns/op 17200238584 B/op 1188455 allocs/op
BenchmarkKMSv2KDF-8 1 15611652067 ns/op 17199894568 B/op 1189638 allocs/op
BenchmarkKMSv2KDF-8 1 14894457805 ns/op 17200182560 B/op 1184547 allocs/op
BenchmarkKMSv2KDF-8 1 15811554030 ns/op 17197517104 B/op 1189270 allocs/op
BenchmarkKMSv2KDF-8 1 17113694536 ns/op 17199955528 B/op 1187086 allocs/op
BenchmarkKMSv2KDF-8 1 16131986763 ns/op 17197968856 B/op 1185138 allocs/op
BenchmarkKMSv2KDF-8 1 16279299241 ns/op 17201217856 B/op 1191485 allocs/op
BenchmarkKMSv2KDF-8 1 16213700492 ns/op 17198878640 B/op 1186629 allocs/op
BenchmarkKMSv2KDF-8 1 15352064145 ns/op 17197414400 B/op 1191145 allocs/op
BenchmarkKMSv2KDF-8 1 15006537428 ns/op 17201246632 B/op 1190069 allocs/op
BenchmarkKMSv2KDF-8 1 15366295834 ns/op 17200609136 B/op 1189251 allocs/op
PASS
ok k8s.io/kubernetes/test/integration/controlplane/transformation 494.946s
goos: linux
goarch: amd64
pkg: k8s.io/kubernetes/test/integration/controlplane/transformation
cpu: AMD EPYC 7763 64-Core Processor
BenchmarkKMSv2KDF-8 1 24577365235 ns/op 17200791264 B/op 1123729 allocs/op
BenchmarkKMSv2KDF-8 1 15213803878 ns/op 17196642944 B/op 1108838 allocs/op
BenchmarkKMSv2KDF-8 1 16085231617 ns/op 17196940016 B/op 1109465 allocs/op
BenchmarkKMSv2KDF-8 1 15610078933 ns/op 17196995272 B/op 1116001 allocs/op
BenchmarkKMSv2KDF-8 1 15253970505 ns/op 17197602440 B/op 1107052 allocs/op
BenchmarkKMSv2KDF-8 1 16018944142 ns/op 17194420024 B/op 1108424 allocs/op
BenchmarkKMSv2KDF-8 1 16770919357 ns/op 17198004208 B/op 1113591 allocs/op
BenchmarkKMSv2KDF-8 1 16076242610 ns/op 17197169008 B/op 1108855 allocs/op
BenchmarkKMSv2KDF-8 1 16651886997 ns/op 17199325464 B/op 1104402 allocs/op
BenchmarkKMSv2KDF-8 1 15842897349 ns/op 17196924944 B/op 1105476 allocs/op
BenchmarkKMSv2KDF-8 1 15616168328 ns/op 17196248512 B/op 1106597 allocs/op
BenchmarkKMSv2KDF-8 1 14722768752 ns/op 17198533760 B/op 1103948 allocs/op
BenchmarkKMSv2KDF-8 1 16783455383 ns/op 17199240648 B/op 1109799 allocs/op
BenchmarkKMSv2KDF-8 1 15943426330 ns/op 17198547088 B/op 1110709 allocs/op
BenchmarkKMSv2KDF-8 1 16248643687 ns/op 17194578768 B/op 1106144 allocs/op
PASS
ok k8s.io/kubernetes/test/integration/controlplane/transformation 493.546s
@aramase
Copy link
Author

aramase commented Oct 26, 2023

➜ benchstat kmsv2kdf_without_tracing.txt kmsv2kdf_with_tracing.txt
goos: linux
goarch: amd64
pkg: k8s.io/kubernetes/test/integration/controlplane/transformation
cpu: AMD EPYC 7763 64-Core Processor
           │ kmsv2kdf_without_tracing.txt │  kmsv2kdf_with_tracing.txt   │
           │            sec/op            │   sec/op    vs base          │
KMSv2KDF-8                     16.02 ± 4%   16.08 ± 5%  ~ (p=0.806 n=15)

           │ kmsv2kdf_without_tracing.txt │      kmsv2kdf_with_tracing.txt      │
           │             B/op             │     B/op      vs base               │
KMSv2KDF-8                   16.02Gi ± 0%   16.02Gi ± 0%  +0.02% (p=0.000 n=15)

           │ kmsv2kdf_without_tracing.txt │     kmsv2kdf_with_tracing.txt      │
           │          allocs/op           │  allocs/op   vs base               │
KMSv2KDF-8                    1.109M ± 0%   1.188M ± 0%  +7.18% (p=0.000 n=15)

@aramase
Copy link
Author

aramase commented Oct 26, 2023

➜ benchstat kmsv2_without_tracing.txt kmsv2_with_tracing.txt
goos: linux
goarch: amd64
pkg: k8s.io/kubernetes/test/integration/controlplane/transformation
cpu: AMD EPYC 7763 64-Core Processor
            │ kmsv2_without_tracing.txt │    kmsv2_with_tracing.txt    │
            │          sec/op           │   sec/op    vs base          │
KMSv2REST-8                  21.73 ± 6%   21.59 ± 2%  ~ (p=0.529 n=10)

            │ kmsv2_without_tracing.txt │       kmsv2_with_tracing.txt        │
            │           B/op            │     B/op      vs base               │
KMSv2REST-8                25.83Gi ± 0%   25.84Gi ± 0%  +0.01% (p=0.019 n=10)

            │ kmsv2_without_tracing.txt │       kmsv2_with_tracing.txt       │
            │         allocs/op         │  allocs/op   vs base               │
KMSv2REST-8                 3.344M ± 0%   3.404M ± 0%  +1.80% (p=0.000 n=10)

@aramase
Copy link
Author

aramase commented Oct 26, 2023

Running existing benchmarks before and after tracing

Commit before tracing was added:
git checkout c2a04fa1cf5f39ddcab1b7591d06292c0b8487fb

go test ./test/integration/controlplane/transformation -bench BenchmarkKMSv2KDF -benchmem -run X -count=15 > kmsv2kdf_without_tracing.txt
go test ./test/integration/controlplane/transformation -bench BenchmarkKMSv2REST -benchmem -run X -count=10 > kmsv2_without_tracing.txt

Commit tracing was added
git checkout 8d3a25c7c98d77419111a02917f459aab8970087

go test ./test/integration/controlplane/transformation -bench BenchmarkKMSv2KDF -benchmem -run X -count=15 > kmsv2kdf_with_tracing.txt
go test ./test/integration/controlplane/transformation -bench BenchmarkKMSv2REST -benchmem -run X -count=10 > kmsv2_with_tracing.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment