chore(profiling): allow user to customise default heap profiling sampling interval [PROF-15190] - #2255
Conversation
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: f3eae4a | Docs | Datadog PR Page | Give us feedback! |
There was a problem hiding this comment.
Pull request overview
This PR adds a process-wide mechanism to override the default heap-profiling mean sampling distance (bytes between samples), exposing it via Rust APIs in the heap sampler plus convenience passthroughs in the GOT interposer and allocator crates.
Changes:
- Introduce a global
_Atomic uint64_toverride and a C setter (dd_set_default_sampling_interval) used when initializing per-thread sampler state. - Expose a Rust
set_default_sampling_distance(u64)API inlibdd-profiling-heap-sampler, and forward it fromlibdd-profiling-heap-gotterandlibdd-profiling-heap-allocator(plus a C-ABI function inlibdd-profiling-heap-gotter-ffi). - Extend bindgen/static-wrapper generation to include the new API surface.
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| libdd-profiling-heap-sampler/src/tl_state.c | Adds a process-wide atomic override and setter; uses the effective interval when initializing TLS state. |
| libdd-profiling-heap-sampler/src/lib.rs | Adds a Rust API to set the default sampling distance (Linux-only). |
| libdd-profiling-heap-sampler/src/generated/dd_heap_sampler_static_wrappers.c | Adds a wrapper symbol for the dd_sampling_interval_effective() inline helper. |
| libdd-profiling-heap-sampler/src/generated/bindings.rs | Updates generated Rust FFI bindings to include the new C APIs/vars. |
| libdd-profiling-heap-sampler/include/datadog/heap/tl_state.h | Declares the override, setter, and an inline “effective interval” helper. |
| libdd-profiling-heap-sampler/build.rs | Updates bindgen allowlist to include the new global symbol. |
| libdd-profiling-heap-gotter/src/lib.rs | Adds a public forwarding API to set the default sampling distance (no-op on unsupported targets). |
| libdd-profiling-heap-gotter-ffi/src/lib.rs | Adds an exported C-ABI function to set the default sampling distance. |
| libdd-profiling-heap-allocator/src/lib.rs | Adds a public forwarding API and updates docs/example to show configuring the sampling distance. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
e6b5542 to
79d0d05
Compare
BenchmarksComparisonBenchmark execution time: 2026-07-21 08:08:43 Comparing candidate commit f3eae4a in PR branch Found 0 performance improvements and 1 performance regressions! Performance is the same for 39 metrics, 0 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f3eae4a | 1784620355 | sgg/customise-default-sampling-interval |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sampler_only/fast_path/16 | execution_time | 13.603ns | 13.666ns ± 0.012ns | 13.665ns ± 0.004ns | 13.669ns | 13.685ns | 13.712ns | 13.733ns | 0.50% | 1.062 | 9.407 | 0.09% | 0.001ns | 1 | 200 |
| sampler_only/fast_path/256 | execution_time | 13.606ns | 13.667ns ± 0.012ns | 13.666ns ± 0.005ns | 13.672ns | 13.683ns | 13.711ns | 13.735ns | 0.51% | 0.778 | 9.656 | 0.09% | 0.001ns | 1 | 200 |
| sampler_only/fast_path/4096 | execution_time | 13.601ns | 13.667ns ± 0.018ns | 13.666ns ± 0.004ns | 13.671ns | 13.680ns | 13.716ns | 13.857ns | 1.40% | 6.358 | 68.454 | 0.13% | 0.001ns | 1 | 200 |
| sampler_only/fast_path/64 | execution_time | 13.603ns | 13.668ns ± 0.012ns | 13.667ns ± 0.004ns | 13.672ns | 13.685ns | 13.700ns | 13.733ns | 0.48% | -0.293 | 10.083 | 0.09% | 0.001ns | 1 | 200 |
| sampler_only/fast_path/65536 | execution_time | 13.603ns | 13.668ns ± 0.015ns | 13.666ns ± 0.004ns | 13.670ns | 13.684ns | 13.715ns | 13.781ns | 0.84% | 2.394 | 22.788 | 0.11% | 0.001ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| sampler_only/fast_path/16 | execution_time | [13.664ns; 13.668ns] or [-0.012%; +0.012%] | None | None | None |
| sampler_only/fast_path/256 | execution_time | [13.665ns; 13.669ns] or [-0.012%; +0.012%] | None | None | None |
| sampler_only/fast_path/4096 | execution_time | [13.665ns; 13.670ns] or [-0.018%; +0.018%] | None | None | None |
| sampler_only/fast_path/64 | execution_time | [13.666ns; 13.669ns] or [-0.012%; +0.012%] | None | None | None |
| sampler_only/fast_path/65536 | execution_time | [13.666ns; 13.670ns] or [-0.015%; +0.015%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f3eae4a | 1784620355 | sgg/customise-default-sampling-interval |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/sampled_noop_fast_path/16 | execution_time | 14.403ns | 14.470ns ± 0.012ns | 14.471ns ± 0.005ns | 14.475ns | 14.489ns | 14.499ns | 14.515ns | 0.31% | -1.302 | 10.372 | 0.08% | 0.001ns | 1 | 200 |
| alloc_free/sampled_noop_fast_path/256 | execution_time | 14.401ns | 14.468ns ± 0.013ns | 14.468ns ± 0.004ns | 14.472ns | 14.484ns | 14.502ns | 14.551ns | 0.58% | 0.108 | 16.189 | 0.09% | 0.001ns | 1 | 200 |
| alloc_free/sampled_noop_fast_path/4096 | execution_time | 14.402ns | 14.472ns ± 0.013ns | 14.471ns ± 0.005ns | 14.477ns | 14.492ns | 14.514ns | 14.559ns | 0.61% | 1.302 | 13.644 | 0.09% | 0.001ns | 1 | 200 |
| alloc_free/sampled_noop_fast_path/64 | execution_time | 14.404ns | 14.470ns ± 0.020ns | 14.469ns ± 0.006ns | 14.476ns | 14.487ns | 14.502ns | 14.699ns | 1.59% | 7.185 | 80.589 | 0.14% | 0.001ns | 1 | 200 |
| alloc_free/sampled_noop_fast_path/65536 | execution_time | 14.401ns | 14.471ns ± 0.014ns | 14.471ns ± 0.005ns | 14.476ns | 14.489ns | 14.509ns | 14.541ns | 0.49% | 0.106 | 10.456 | 0.10% | 0.001ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/sampled_noop_fast_path/16 | execution_time | [14.469ns; 14.472ns] or [-0.011%; +0.011%] | None | None | None |
| alloc_free/sampled_noop_fast_path/256 | execution_time | [14.467ns; 14.470ns] or [-0.012%; +0.012%] | None | None | None |
| alloc_free/sampled_noop_fast_path/4096 | execution_time | [14.470ns; 14.474ns] or [-0.013%; +0.013%] | None | None | None |
| alloc_free/sampled_noop_fast_path/64 | execution_time | [14.467ns; 14.473ns] or [-0.019%; +0.019%] | None | None | None |
| alloc_free/sampled_noop_fast_path/65536 | execution_time | [14.469ns; 14.473ns] or [-0.013%; +0.013%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f3eae4a | 1784620355 | sgg/customise-default-sampling-interval |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/sampled_system_fast_path/16 | execution_time | 25.742ns | 26.200ns ± 0.099ns | 26.207ns ± 0.040ns | 26.241ns | 26.303ns | 26.438ns | 26.800ns | 2.26% | 0.636 | 10.421 | 0.38% | 0.007ns | 1 | 200 |
| alloc_free/sampled_system_fast_path/256 | execution_time | 25.612ns | 26.214ns ± 0.080ns | 26.217ns ± 0.039ns | 26.251ns | 26.322ns | 26.417ns | 26.515ns | 1.14% | -1.786 | 15.899 | 0.30% | 0.006ns | 1 | 200 |
| alloc_free/sampled_system_fast_path/4096 | execution_time | 114.070ns | 116.417ns ± 0.434ns | 116.417ns ± 0.184ns | 116.587ns | 117.037ns | 117.710ns | 118.553ns | 1.83% | -0.244 | 8.187 | 0.37% | 0.031ns | 1 | 200 |
| alloc_free/sampled_system_fast_path/64 | execution_time | 25.984ns | 26.210ns ± 0.064ns | 26.212ns ± 0.032ns | 26.242ns | 26.299ns | 26.399ns | 26.408ns | 0.75% | 0.081 | 1.859 | 0.24% | 0.005ns | 1 | 200 |
| alloc_free/sampled_system_fast_path/65536 | execution_time | 99.412ns | 100.072ns ± 0.325ns | 100.042ns ± 0.141ns | 100.189ns | 100.579ns | 101.145ns | 101.898ns | 1.85% | 1.698 | 6.659 | 0.32% | 0.023ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/sampled_system_fast_path/16 | execution_time | [26.186ns; 26.214ns] or [-0.053%; +0.053%] | None | None | None |
| alloc_free/sampled_system_fast_path/256 | execution_time | [26.203ns; 26.225ns] or [-0.042%; +0.042%] | None | None | None |
| alloc_free/sampled_system_fast_path/4096 | execution_time | [116.357ns; 116.477ns] or [-0.052%; +0.052%] | None | None | None |
| alloc_free/sampled_system_fast_path/64 | execution_time | [26.201ns; 26.219ns] or [-0.034%; +0.034%] | None | None | None |
| alloc_free/sampled_system_fast_path/65536 | execution_time | [100.027ns; 100.117ns] or [-0.045%; +0.045%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f3eae4a | 1784620355 | sgg/customise-default-sampling-interval |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/system/16 | execution_time | 14.052ns | 14.292ns ± 0.095ns | 14.290ns ± 0.055ns | 14.345ns | 14.436ns | 14.502ns | 14.779ns | 3.42% | 0.691 | 3.453 | 0.67% | 0.007ns | 1 | 200 |
| alloc_free/system/256 | execution_time | 14.002ns | 14.286ns ± 0.097ns | 14.282ns ± 0.053ns | 14.339ns | 14.425ns | 14.552ns | 14.746ns | 3.25% | 0.370 | 2.589 | 0.68% | 0.007ns | 1 | 200 |
| alloc_free/system/4096 | execution_time | 90.239ns | 93.292ns ± 0.663ns | 93.359ns ± 0.306ns | 93.651ns | 94.143ns | 94.496ns | 94.577ns | 1.30% | -1.836 | 6.177 | 0.71% | 0.047ns | 1 | 200 |
| alloc_free/system/64 | execution_time | 14.053ns | 14.306ns ± 0.114ns | 14.292ns ± 0.057ns | 14.353ns | 14.458ns | 14.722ns | 14.899ns | 4.25% | 1.824 | 6.718 | 0.79% | 0.008ns | 1 | 200 |
| alloc_free/system/65536 | execution_time | 87.868ns | 88.531ns ± 0.260ns | 88.520ns ± 0.115ns | 88.625ns | 88.895ns | 89.324ns | 90.046ns | 1.72% | 1.422 | 6.473 | 0.29% | 0.018ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/system/16 | execution_time | [14.279ns; 14.306ns] or [-0.092%; +0.092%] | None | None | None |
| alloc_free/system/256 | execution_time | [14.272ns; 14.299ns] or [-0.094%; +0.094%] | None | None | None |
| alloc_free/system/4096 | execution_time | [93.200ns; 93.384ns] or [-0.098%; +0.098%] | None | None | None |
| alloc_free/system/64 | execution_time | [14.291ns; 14.322ns] or [-0.110%; +0.110%] | None | None | None |
| alloc_free/system/65536 | execution_time | [88.495ns; 88.567ns] or [-0.041%; +0.041%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f3eae4a | 1784620355 | sgg/customise-default-sampling-interval |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sampler_only/slow_path/16 | execution_time | 61.787ns | 62.111ns ± 0.087ns | 62.106ns ± 0.022ns | 62.127ns | 62.186ns | 62.294ns | 63.094ns | 1.59% | 7.069 | 79.430 | 0.14% | 0.006ns | 1 | 200 |
| sampler_only/slow_path/256 | execution_time | 61.902ns | 62.283ns ± 0.058ns | 62.283ns ± 0.017ns | 62.298ns | 62.362ns | 62.510ns | 62.528ns | 0.39% | -0.622 | 13.429 | 0.09% | 0.004ns | 1 | 200 |
| sampler_only/slow_path/4096 | execution_time | 62.324ns | 62.536ns ± 0.238ns | 62.521ns ± 0.025ns | 62.546ns | 62.597ns | 62.669ns | 65.804ns | 5.25% | 13.064 | 177.097 | 0.38% | 0.017ns | 1 | 200 |
| sampler_only/slow_path/64 | execution_time | 61.947ns | 62.279ns ± 0.089ns | 62.268ns ± 0.021ns | 62.292ns | 62.365ns | 62.505ns | 63.122ns | 1.37% | 5.654 | 49.379 | 0.14% | 0.006ns | 1 | 200 |
| sampler_only/slow_path/65536 | execution_time | 66.266ns | 66.694ns ± 0.084ns | 66.690ns ± 0.032ns | 66.723ns | 66.768ns | 66.962ns | 67.277ns | 0.88% | 1.495 | 16.415 | 0.13% | 0.006ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| sampler_only/slow_path/16 | execution_time | [62.098ns; 62.123ns] or [-0.020%; +0.020%] | None | None | None |
| sampler_only/slow_path/256 | execution_time | [62.275ns; 62.291ns] or [-0.013%; +0.013%] | None | None | None |
| sampler_only/slow_path/4096 | execution_time | [62.503ns; 62.569ns] or [-0.053%; +0.053%] | None | None | None |
| sampler_only/slow_path/64 | execution_time | [62.266ns; 62.291ns] or [-0.020%; +0.020%] | None | None | None |
| sampler_only/slow_path/65536 | execution_time | [66.682ns; 66.706ns] or [-0.017%; +0.017%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f3eae4a | 1784620355 | sgg/customise-default-sampling-interval |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/noop/16 | execution_time | 0.400ns | 0.402ns ± 0.001ns | 0.402ns ± 0.000ns | 0.402ns | 0.403ns | 0.404ns | 0.408ns | 1.43% | 5.343 | 48.758 | 0.14% | 0.000ns | 1 | 200 |
| alloc_free/noop/256 | execution_time | 0.400ns | 0.402ns ± 0.001ns | 0.402ns ± 0.000ns | 0.402ns | 0.403ns | 0.404ns | 0.406ns | 1.03% | 4.232 | 31.026 | 0.13% | 0.000ns | 1 | 200 |
| alloc_free/noop/4096 | execution_time | 0.400ns | 0.402ns ± 0.001ns | 0.402ns ± 0.000ns | 0.402ns | 0.403ns | 0.403ns | 0.408ns | 1.42% | 6.221 | 63.770 | 0.13% | 0.000ns | 1 | 200 |
| alloc_free/noop/64 | execution_time | 0.400ns | 0.402ns ± 0.000ns | 0.402ns ± 0.000ns | 0.402ns | 0.402ns | 0.403ns | 0.404ns | 0.54% | 0.203 | 6.502 | 0.10% | 0.000ns | 1 | 200 |
| alloc_free/noop/65536 | execution_time | 0.400ns | 0.402ns ± 0.000ns | 0.402ns ± 0.000ns | 0.402ns | 0.402ns | 0.404ns | 0.407ns | 1.21% | 4.567 | 47.381 | 0.12% | 0.000ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/noop/16 | execution_time | [0.402ns; 0.402ns] or [-0.020%; +0.020%] | None | None | None |
| alloc_free/noop/256 | execution_time | [0.402ns; 0.402ns] or [-0.018%; +0.018%] | None | None | None |
| alloc_free/noop/4096 | execution_time | [0.402ns; 0.402ns] or [-0.018%; +0.018%] | None | None | None |
| alloc_free/noop/64 | execution_time | [0.402ns; 0.402ns] or [-0.014%; +0.014%] | None | None | None |
| alloc_free/noop/65536 | execution_time | [0.402ns; 0.402ns] or [-0.017%; +0.017%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f3eae4a | 1784620355 | sgg/customise-default-sampling-interval |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/sampled_noop_slow_path/16 | execution_time | 63.656ns | 64.054ns ± 0.085ns | 64.048ns ± 0.021ns | 64.071ns | 64.132ns | 64.237ns | 64.864ns | 1.27% | 4.564 | 45.579 | 0.13% | 0.006ns | 1 | 200 |
| alloc_free/sampled_noop_slow_path/256 | execution_time | 63.644ns | 63.908ns ± 0.110ns | 63.895ns ± 0.023ns | 63.922ns | 63.991ns | 64.154ns | 65.220ns | 2.07% | 8.725 | 100.603 | 0.17% | 0.008ns | 1 | 200 |
| alloc_free/sampled_noop_slow_path/4096 | execution_time | 63.930ns | 64.279ns ± 0.098ns | 64.264ns ± 0.026ns | 64.294ns | 64.360ns | 64.622ns | 65.319ns | 1.64% | 6.384 | 63.829 | 0.15% | 0.007ns | 1 | 200 |
| alloc_free/sampled_noop_slow_path/64 | execution_time | 63.752ns | 64.067ns ± 0.111ns | 64.063ns ± 0.019ns | 64.078ns | 64.152ns | 64.248ns | 65.323ns | 1.97% | 7.674 | 82.950 | 0.17% | 0.008ns | 1 | 200 |
| alloc_free/sampled_noop_slow_path/65536 | execution_time | 68.241ns | 68.640ns ± 0.109ns | 68.633ns ± 0.031ns | 68.663ns | 68.760ns | 69.129ns | 69.423ns | 1.15% | 3.576 | 24.312 | 0.16% | 0.008ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/sampled_noop_slow_path/16 | execution_time | [64.042ns; 64.066ns] or [-0.018%; +0.018%] | None | None | None |
| alloc_free/sampled_noop_slow_path/256 | execution_time | [63.893ns; 63.924ns] or [-0.024%; +0.024%] | None | None | None |
| alloc_free/sampled_noop_slow_path/4096 | execution_time | [64.265ns; 64.293ns] or [-0.021%; +0.021%] | None | None | None |
| alloc_free/sampled_noop_slow_path/64 | execution_time | [64.052ns; 64.082ns] or [-0.024%; +0.024%] | None | None | None |
| alloc_free/sampled_noop_slow_path/65536 | execution_time | [68.625ns; 68.655ns] or [-0.022%; +0.022%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f3eae4a | 1784620355 | sgg/customise-default-sampling-interval |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/sampled_system_slow_path/16 | execution_time | 88.799ns | 89.416ns ± 0.086ns | 89.410ns ± 0.029ns | 89.442ns | 89.535ns | 89.683ns | 89.839ns | 0.48% | -0.784 | 16.225 | 0.10% | 0.006ns | 1 | 200 |
| alloc_free/sampled_system_slow_path/256 | execution_time | 89.638ns | 89.915ns ± 0.090ns | 89.907ns ± 0.035ns | 89.944ns | 90.041ns | 90.350ns | 90.419ns | 0.57% | 1.799 | 10.024 | 0.10% | 0.006ns | 1 | 200 |
| alloc_free/sampled_system_slow_path/4096 | execution_time | 150.828ns | 151.779ns ± 0.387ns | 151.733ns ± 0.160ns | 151.897ns | 152.322ns | 152.868ns | 154.914ns | 2.10% | 3.464 | 23.423 | 0.25% | 0.027ns | 1 | 200 |
| alloc_free/sampled_system_slow_path/64 | execution_time | 89.241ns | 89.582ns ± 0.138ns | 89.571ns ± 0.039ns | 89.609ns | 89.679ns | 90.086ns | 91.086ns | 1.69% | 6.941 | 70.718 | 0.15% | 0.010ns | 1 | 200 |
| alloc_free/sampled_system_slow_path/65536 | execution_time | 154.044ns | 155.873ns ± 0.244ns | 155.864ns ± 0.107ns | 155.997ns | 156.206ns | 156.471ns | 156.563ns | 0.45% | -1.926 | 14.986 | 0.16% | 0.017ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/sampled_system_slow_path/16 | execution_time | [89.404ns; 89.428ns] or [-0.013%; +0.013%] | None | None | None |
| alloc_free/sampled_system_slow_path/256 | execution_time | [89.903ns; 89.928ns] or [-0.014%; +0.014%] | None | None | None |
| alloc_free/sampled_system_slow_path/4096 | execution_time | [151.726ns; 151.833ns] or [-0.035%; +0.035%] | None | None | None |
| alloc_free/sampled_system_slow_path/64 | execution_time | [89.563ns; 89.601ns] or [-0.021%; +0.021%] | None | None | None |
| alloc_free/sampled_system_slow_path/65536 | execution_time | [155.839ns; 155.907ns] or [-0.022%; +0.022%] | None | None | None |
Baseline
Baseline benchmark details
Group 1
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | fb65e46 | 1784569050 | main |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sampler_only/fast_path/16 | execution_time | 14.001ns | 14.070ns ± 0.019ns | 14.068ns ± 0.005ns | 14.073ns | 14.090ns | 14.109ns | 14.258ns | 1.36% | 5.787 | 51.654 | 0.14% | 0.001ns | 1 | 200 |
| sampler_only/fast_path/256 | execution_time | 14.002ns | 14.069ns ± 0.012ns | 14.068ns ± 0.005ns | 14.073ns | 14.087ns | 14.109ns | 14.122ns | 0.39% | -0.486 | 10.342 | 0.09% | 0.001ns | 1 | 200 |
| sampler_only/fast_path/4096 | execution_time | 14.001ns | 14.069ns ± 0.013ns | 14.068ns ± 0.005ns | 14.074ns | 14.082ns | 14.108ns | 14.143ns | 0.53% | 0.060 | 12.709 | 0.09% | 0.001ns | 1 | 200 |
| sampler_only/fast_path/64 | execution_time | 14.001ns | 14.068ns ± 0.012ns | 14.068ns ± 0.005ns | 14.072ns | 14.084ns | 14.103ns | 14.119ns | 0.37% | -0.691 | 10.442 | 0.08% | 0.001ns | 1 | 200 |
| sampler_only/fast_path/65536 | execution_time | 14.003ns | 14.068ns ± 0.013ns | 14.069ns ± 0.005ns | 14.073ns | 14.083ns | 14.111ns | 14.158ns | 0.63% | 0.793 | 14.936 | 0.09% | 0.001ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| sampler_only/fast_path/16 | execution_time | [14.067ns; 14.072ns] or [-0.019%; +0.019%] | None | None | None |
| sampler_only/fast_path/256 | execution_time | [14.067ns; 14.071ns] or [-0.012%; +0.012%] | None | None | None |
| sampler_only/fast_path/4096 | execution_time | [14.067ns; 14.070ns] or [-0.013%; +0.013%] | None | None | None |
| sampler_only/fast_path/64 | execution_time | [14.066ns; 14.070ns] or [-0.012%; +0.012%] | None | None | None |
| sampler_only/fast_path/65536 | execution_time | [14.067ns; 14.070ns] or [-0.013%; +0.013%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | fb65e46 | 1784569050 | main |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/sampled_noop_fast_path/16 | execution_time | 14.402ns | 14.473ns ± 0.014ns | 14.471ns ± 0.006ns | 14.478ns | 14.491ns | 14.510ns | 14.577ns | 0.73% | 1.934 | 17.366 | 0.10% | 0.001ns | 1 | 200 |
| alloc_free/sampled_noop_fast_path/256 | execution_time | 14.403ns | 14.471ns ± 0.036ns | 14.468ns ± 0.005ns | 14.474ns | 14.486ns | 14.512ns | 14.952ns | 3.34% | 11.728 | 153.934 | 0.25% | 0.003ns | 1 | 200 |
| alloc_free/sampled_noop_fast_path/4096 | execution_time | 14.401ns | 14.474ns ± 0.053ns | 14.470ns ± 0.005ns | 14.476ns | 14.491ns | 14.513ns | 15.196ns | 5.02% | 12.842 | 173.330 | 0.36% | 0.004ns | 1 | 200 |
| alloc_free/sampled_noop_fast_path/64 | execution_time | 14.401ns | 14.471ns ± 0.014ns | 14.471ns ± 0.005ns | 14.475ns | 14.488ns | 14.500ns | 14.581ns | 0.76% | 1.379 | 22.271 | 0.10% | 0.001ns | 1 | 200 |
| alloc_free/sampled_noop_fast_path/65536 | execution_time | 14.403ns | 14.472ns ± 0.017ns | 14.470ns ± 0.005ns | 14.476ns | 14.490ns | 14.554ns | 14.597ns | 0.88% | 2.754 | 20.591 | 0.12% | 0.001ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/sampled_noop_fast_path/16 | execution_time | [14.471ns; 14.475ns] or [-0.014%; +0.014%] | None | None | None |
| alloc_free/sampled_noop_fast_path/256 | execution_time | [14.466ns; 14.476ns] or [-0.035%; +0.035%] | None | None | None |
| alloc_free/sampled_noop_fast_path/4096 | execution_time | [14.467ns; 14.482ns] or [-0.051%; +0.051%] | None | None | None |
| alloc_free/sampled_noop_fast_path/64 | execution_time | [14.469ns; 14.473ns] or [-0.014%; +0.014%] | None | None | None |
| alloc_free/sampled_noop_fast_path/65536 | execution_time | [14.469ns; 14.474ns] or [-0.017%; +0.017%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | fb65e46 | 1784569050 | main |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/sampled_system_fast_path/16 | execution_time | 25.728ns | 26.208ns ± 0.082ns | 26.215ns ± 0.038ns | 26.251ns | 26.304ns | 26.372ns | 26.438ns | 0.85% | -1.568 | 7.533 | 0.31% | 0.006ns | 1 | 200 |
| alloc_free/sampled_system_fast_path/256 | execution_time | 25.978ns | 26.220ns ± 0.082ns | 26.218ns ± 0.044ns | 26.260ns | 26.325ns | 26.385ns | 26.875ns | 2.51% | 2.320 | 19.281 | 0.31% | 0.006ns | 1 | 200 |
| alloc_free/sampled_system_fast_path/4096 | execution_time | 101.780ns | 103.722ns ± 0.504ns | 103.710ns ± 0.234ns | 103.934ns | 104.397ns | 105.542ns | 106.510ns | 2.70% | 1.342 | 7.530 | 0.49% | 0.036ns | 1 | 200 |
| alloc_free/sampled_system_fast_path/64 | execution_time | 26.031ns | 26.208ns ± 0.061ns | 26.206ns ± 0.038ns | 26.244ns | 26.297ns | 26.361ns | 26.481ns | 1.05% | 0.372 | 1.860 | 0.23% | 0.004ns | 1 | 200 |
| alloc_free/sampled_system_fast_path/65536 | execution_time | 98.588ns | 100.054ns ± 0.303ns | 100.053ns ± 0.139ns | 100.185ns | 100.446ns | 100.727ns | 102.143ns | 2.09% | 0.987 | 13.059 | 0.30% | 0.021ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/sampled_system_fast_path/16 | execution_time | [26.196ns; 26.219ns] or [-0.043%; +0.043%] | None | None | None |
| alloc_free/sampled_system_fast_path/256 | execution_time | [26.208ns; 26.231ns] or [-0.043%; +0.043%] | None | None | None |
| alloc_free/sampled_system_fast_path/4096 | execution_time | [103.652ns; 103.792ns] or [-0.067%; +0.067%] | None | None | None |
| alloc_free/sampled_system_fast_path/64 | execution_time | [26.199ns; 26.216ns] or [-0.032%; +0.032%] | None | None | None |
| alloc_free/sampled_system_fast_path/65536 | execution_time | [100.012ns; 100.096ns] or [-0.042%; +0.042%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | fb65e46 | 1784569050 | main |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/system/16 | execution_time | 14.011ns | 14.288ns ± 0.144ns | 14.275ns ± 0.045ns | 14.325ns | 14.425ns | 14.824ns | 15.649ns | 9.62% | 5.212 | 43.329 | 1.00% | 0.010ns | 1 | 200 |
| alloc_free/system/256 | execution_time | 14.056ns | 14.312ns ± 0.123ns | 14.300ns ± 0.048ns | 14.348ns | 14.439ns | 14.796ns | 15.436ns | 7.95% | 4.534 | 35.873 | 0.86% | 0.009ns | 1 | 200 |
| alloc_free/system/4096 | execution_time | 89.624ns | 93.173ns ± 0.722ns | 93.226ns ± 0.309ns | 93.500ns | 94.226ns | 95.026ns | 95.420ns | 2.35% | -0.976 | 5.747 | 0.77% | 0.051ns | 1 | 200 |
| alloc_free/system/64 | execution_time | 14.002ns | 14.315ns ± 0.114ns | 14.302ns ± 0.055ns | 14.359ns | 14.507ns | 14.762ns | 15.053ns | 5.26% | 2.097 | 10.423 | 0.79% | 0.008ns | 1 | 200 |
| alloc_free/system/65536 | execution_time | 87.808ns | 88.410ns ± 0.194ns | 88.416ns ± 0.098ns | 88.512ns | 88.753ns | 88.890ns | 89.001ns | 0.66% | -0.231 | 1.465 | 0.22% | 0.014ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/system/16 | execution_time | [14.268ns; 14.307ns] or [-0.139%; +0.139%] | None | None | None |
| alloc_free/system/256 | execution_time | [14.295ns; 14.329ns] or [-0.119%; +0.119%] | None | None | None |
| alloc_free/system/4096 | execution_time | [93.073ns; 93.273ns] or [-0.107%; +0.107%] | None | None | None |
| alloc_free/system/64 | execution_time | [14.299ns; 14.331ns] or [-0.110%; +0.110%] | None | None | None |
| alloc_free/system/65536 | execution_time | [88.384ns; 88.437ns] or [-0.030%; +0.030%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | fb65e46 | 1784569050 | main |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sampler_only/slow_path/16 | execution_time | 61.817ns | 62.110ns ± 0.065ns | 62.104ns ± 0.023ns | 62.131ns | 62.199ns | 62.301ns | 62.562ns | 0.74% | 1.746 | 15.026 | 0.11% | 0.005ns | 1 | 200 |
| sampler_only/slow_path/256 | execution_time | 61.863ns | 62.139ns ± 0.088ns | 62.126ns ± 0.022ns | 62.156ns | 62.218ns | 62.437ns | 63.054ns | 1.49% | 6.206 | 60.004 | 0.14% | 0.006ns | 1 | 200 |
| sampler_only/slow_path/4096 | execution_time | 62.206ns | 62.642ns ± 0.062ns | 62.641ns ± 0.024ns | 62.662ns | 62.731ns | 62.822ns | 62.878ns | 0.38% | -1.269 | 14.512 | 0.10% | 0.004ns | 1 | 200 |
| sampler_only/slow_path/64 | execution_time | 61.823ns | 62.130ns ± 0.063ns | 62.125ns ± 0.017ns | 62.143ns | 62.216ns | 62.290ns | 62.618ns | 0.79% | 1.872 | 22.070 | 0.10% | 0.004ns | 1 | 200 |
| sampler_only/slow_path/65536 | execution_time | 66.423ns | 66.818ns ± 0.096ns | 66.814ns ± 0.025ns | 66.839ns | 66.910ns | 67.074ns | 67.725ns | 1.36% | 4.000 | 40.373 | 0.14% | 0.007ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| sampler_only/slow_path/16 | execution_time | [62.101ns; 62.119ns] or [-0.015%; +0.015%] | None | None | None |
| sampler_only/slow_path/256 | execution_time | [62.127ns; 62.151ns] or [-0.020%; +0.020%] | None | None | None |
| sampler_only/slow_path/4096 | execution_time | [62.633ns; 62.650ns] or [-0.014%; +0.014%] | None | None | None |
| sampler_only/slow_path/64 | execution_time | [62.121ns; 62.139ns] or [-0.014%; +0.014%] | None | None | None |
| sampler_only/slow_path/65536 | execution_time | [66.804ns; 66.831ns] or [-0.020%; +0.020%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | fb65e46 | 1784569050 | main |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/noop/16 | execution_time | 0.400ns | 0.402ns ± 0.000ns | 0.402ns ± 0.000ns | 0.402ns | 0.402ns | 0.403ns | 0.403ns | 0.35% | -0.154 | 6.947 | 0.09% | 0.000ns | 1 | 200 |
| alloc_free/noop/256 | execution_time | 0.400ns | 0.402ns ± 0.001ns | 0.402ns ± 0.000ns | 0.402ns | 0.403ns | 0.403ns | 0.408ns | 1.58% | 7.543 | 86.241 | 0.14% | 0.000ns | 1 | 200 |
| alloc_free/noop/4096 | execution_time | 0.400ns | 0.402ns ± 0.000ns | 0.402ns ± 0.000ns | 0.402ns | 0.402ns | 0.403ns | 0.404ns | 0.56% | -0.015 | 13.974 | 0.09% | 0.000ns | 1 | 200 |
| alloc_free/noop/64 | execution_time | 0.400ns | 0.402ns ± 0.001ns | 0.402ns ± 0.000ns | 0.402ns | 0.403ns | 0.403ns | 0.409ns | 1.86% | 7.058 | 74.341 | 0.17% | 0.000ns | 1 | 200 |
| alloc_free/noop/65536 | execution_time | 0.400ns | 0.402ns ± 0.001ns | 0.402ns ± 0.000ns | 0.402ns | 0.402ns | 0.403ns | 0.414ns | 3.10% | 11.453 | 148.273 | 0.23% | 0.000ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/noop/16 | execution_time | [0.402ns; 0.402ns] or [-0.012%; +0.012%] | None | None | None |
| alloc_free/noop/256 | execution_time | [0.402ns; 0.402ns] or [-0.019%; +0.019%] | None | None | None |
| alloc_free/noop/4096 | execution_time | [0.402ns; 0.402ns] or [-0.012%; +0.012%] | None | None | None |
| alloc_free/noop/64 | execution_time | [0.402ns; 0.402ns] or [-0.023%; +0.023%] | None | None | None |
| alloc_free/noop/65536 | execution_time | [0.402ns; 0.402ns] or [-0.033%; +0.033%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | fb65e46 | 1784569050 | main |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/sampled_noop_slow_path/16 | execution_time | 63.667ns | 63.885ns ± 0.066ns | 63.880ns ± 0.025ns | 63.908ns | 63.985ns | 64.124ns | 64.303ns | 0.66% | 1.571 | 9.250 | 0.10% | 0.005ns | 1 | 200 |
| alloc_free/sampled_noop_slow_path/256 | execution_time | 63.600ns | 64.032ns ± 0.074ns | 64.028ns ± 0.028ns | 64.056ns | 64.110ns | 64.324ns | 64.593ns | 0.88% | 1.958 | 23.311 | 0.12% | 0.005ns | 1 | 200 |
| alloc_free/sampled_noop_slow_path/4096 | execution_time | 64.115ns | 64.394ns ± 0.063ns | 64.392ns ± 0.024ns | 64.415ns | 64.473ns | 64.556ns | 64.820ns | 0.67% | 1.051 | 11.841 | 0.10% | 0.004ns | 1 | 200 |
| alloc_free/sampled_noop_slow_path/64 | execution_time | 63.682ns | 64.009ns ± 0.063ns | 64.003ns ± 0.022ns | 64.027ns | 64.090ns | 64.209ns | 64.442ns | 0.69% | 1.379 | 15.318 | 0.10% | 0.004ns | 1 | 200 |
| alloc_free/sampled_noop_slow_path/65536 | execution_time | 67.907ns | 68.604ns ± 0.093ns | 68.604ns ± 0.027ns | 68.630ns | 68.691ns | 68.913ns | 69.202ns | 0.87% | -1.107 | 27.204 | 0.14% | 0.007ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/sampled_noop_slow_path/16 | execution_time | [63.876ns; 63.894ns] or [-0.014%; +0.014%] | None | None | None |
| alloc_free/sampled_noop_slow_path/256 | execution_time | [64.022ns; 64.043ns] or [-0.016%; +0.016%] | None | None | None |
| alloc_free/sampled_noop_slow_path/4096 | execution_time | [64.385ns; 64.403ns] or [-0.014%; +0.014%] | None | None | None |
| alloc_free/sampled_noop_slow_path/64 | execution_time | [64.000ns; 64.017ns] or [-0.014%; +0.014%] | None | None | None |
| alloc_free/sampled_noop_slow_path/65536 | execution_time | [68.591ns; 68.616ns] or [-0.019%; +0.019%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | fb65e46 | 1784569050 | main |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| alloc_free/sampled_system_slow_path/16 | execution_time | 89.235ns | 89.681ns ± 0.085ns | 89.680ns ± 0.039ns | 89.718ns | 89.807ns | 89.949ns | 90.088ns | 0.45% | 0.278 | 7.647 | 0.09% | 0.006ns | 1 | 200 |
| alloc_free/sampled_system_slow_path/256 | execution_time | 89.247ns | 89.630ns ± 0.113ns | 89.621ns ± 0.030ns | 89.651ns | 89.760ns | 89.943ns | 90.719ns | 1.23% | 5.179 | 45.837 | 0.13% | 0.008ns | 1 | 200 |
| alloc_free/sampled_system_slow_path/4096 | execution_time | 154.748ns | 156.542ns ± 0.339ns | 156.559ns ± 0.177ns | 156.737ns | 156.980ns | 157.395ns | 157.994ns | 0.92% | -0.546 | 5.453 | 0.22% | 0.024ns | 1 | 200 |
| alloc_free/sampled_system_slow_path/64 | execution_time | 89.126ns | 89.483ns ± 0.089ns | 89.471ns ± 0.039ns | 89.520ns | 89.604ns | 89.756ns | 90.113ns | 0.72% | 2.098 | 13.950 | 0.10% | 0.006ns | 1 | 200 |
| alloc_free/sampled_system_slow_path/65536 | execution_time | 153.995ns | 155.666ns ± 0.358ns | 155.668ns ± 0.088ns | 155.746ns | 155.935ns | 156.616ns | 159.016ns | 2.15% | 3.373 | 41.315 | 0.23% | 0.025ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| alloc_free/sampled_system_slow_path/16 | execution_time | [89.669ns; 89.693ns] or [-0.013%; +0.013%] | None | None | None |
| alloc_free/sampled_system_slow_path/256 | execution_time | [89.614ns; 89.646ns] or [-0.018%; +0.018%] | None | None | None |
| alloc_free/sampled_system_slow_path/4096 | execution_time | [156.495ns; 156.589ns] or [-0.030%; +0.030%] | None | None | None |
| alloc_free/sampled_system_slow_path/64 | execution_time | [89.470ns; 89.495ns] or [-0.014%; +0.014%] | None | None | None |
| alloc_free/sampled_system_slow_path/65536 | execution_time | [155.616ns; 155.716ns] or [-0.032%; +0.032%] | None | None | None |
79d0d05 to
1f6be07
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1f6be07631
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
r1viollet
left a comment
There was a problem hiding this comment.
LGTM
When we plug the auto-tuning of sampling distance we will have to think about how to document the behaviour. Though happy to think about that when we get there.
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
|
removing from merge queue, just to let the fixes go in |
What does this PR do?
Let's the user customise the sampling interval via either the gotter or allocator crates. This is done with a pair of free functions to reflect the lifecycle - i.e. this is a global change, and bolting it onto a field on e.g. the GlobalAllocator would feel weird.
Motivation
In the long term we're probably going to want to dynamically adjust the sampling interval so we can size it appropriately regardless of the workload's allocation patterns, but this is a bit more involved. In the short term, let's add a lever to override the default sampling interval. This will allow our users to set a workload-appropriate size by reflecting on allocation rate and desired sample count. For some of the sample workloads we have looked at so far we have seen allocation rate means above 40 MiB/s, which with a 512 KiB sample rate gives a sample every ~10ms, which is generally going to be too much.
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
How to test the change?
Describe here in detail how the change can be validated.