You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WIP: internal/traceprof: make endpoint call counting efficient
Switch to a data structure designed for efficient concurrent updates for
endpoint call counting. This is a prerequisite for enabling the feature
by default. TODO: say more about the choice of library
Benchmark results on my M1 Max Macbook Pro:
goos: darwin
goarch: arm64
pkg: gopkg.in/DataDog/dd-trace-go.v1/internal/traceprof
cpu: Apple M1 Max
│ before.txt │ after.txt │
│ sec/op │ sec/op vs base │
EndpointCounter/enabled=true-10 139.800n ± 11% 5.000n ± 18% -96.42% (p=0.000 n=10)
EndpointCounter/enabled=false-10 0.2716n ± 5% 0.2682n ± 1% ~ (p=0.118 n=10)
geomean 6.162n 1.158n -81.21%
│ before.txt │ after.txt │
│ B/op │ B/op vs base │
EndpointCounter/enabled=true-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
EndpointCounter/enabled=false-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
geomean ² +0.00% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
│ before.txt │ after.txt │
│ allocs/op │ allocs/op vs base │
EndpointCounter/enabled=true-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
EndpointCounter/enabled=false-10 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
geomean ² +0.00% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
0 commit comments