feat(profiling)!: Add BufWriter for batching calls to ZSTD_compressStream in compressor#1789
Conversation
Co-Authored-By: GPT 5.4 <codex@openai.com>
Co-Authored-By: GPT 5.4 <codex@openai.com>
📚 Documentation Check Results📦
|
BufWriter for batching calls to ZSTD_compressStream in profile serialization
BufWriter for batching calls to ZSTD_compressStream in profile serializationBufWriter for batching calls to ZSTD_compressStream in compressor
Clippy Allow Annotation ReportComparing clippy allow annotations between branches:
Summary by Rule
Annotation Counts by File
Annotation Stats by Crate
About This ReportThis report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality. |
🔒 Cargo Deny Results📦
|
|
Booyah really cool thanks for looking into this! |
BenchmarksComparisonBenchmark execution time: 2026-03-25 11:06:34 Comparing candidate commit 8683969 in PR branch Found 2 performance improvements and 2 performance regressions! Performance is the same for 57 metrics, 0 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| redis/obfuscate_redis_string | execution_time | 34.299µs | 34.859µs ± 0.885µs | 34.459µs ± 0.092µs | 34.594µs | 36.738µs | 36.779µs | 37.994µs | 10.26% | 1.715 | 1.175 | 2.53% | 0.063µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| redis/obfuscate_redis_string | execution_time | [34.737µs; 34.982µs] or [-0.352%; +0.352%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| tags/replace_trace_tags | execution_time | 2.317µs | 2.368µs ± 0.014µs | 2.367µs ± 0.004µs | 2.372µs | 2.403µs | 2.411µs | 2.412µs | 1.92% | 0.411 | 3.002 | 0.59% | 0.001µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| tags/replace_trace_tags | execution_time | [2.366µs; 2.370µs] or [-0.083%; +0.083%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | execution_time | 495.622µs | 496.555µs ± 0.821µs | 496.359µs ± 0.232µs | 496.630µs | 497.909µs | 499.664µs | 503.585µs | 1.46% | 4.323 | 28.379 | 0.16% | 0.058µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1985762.962op/s | 2013881.740op/s ± 3304.661op/s | 2014671.510op/s ± 942.014op/s | 2015501.559op/s | 2016454.301op/s | 2017129.143op/s | 2017668.725op/s | 0.15% | -4.266 | 27.678 | 0.16% | 233.675op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 371.216µs | 371.861µs ± 0.255µs | 371.846µs ± 0.184µs | 372.040µs | 372.271µs | 372.489µs | 372.556µs | 0.19% | 0.161 | -0.413 | 0.07% | 0.018µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2684160.547op/s | 2689175.129op/s ± 1844.220op/s | 2689286.764op/s ± 1334.005op/s | 2690566.698op/s | 2692048.864op/s | 2692653.798op/s | 2693849.719op/s | 0.17% | -0.158 | -0.415 | 0.07% | 130.406op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 167.995µs | 168.364µs ± 0.139µs | 168.361µs ± 0.104µs | 168.459µs | 168.597µs | 168.669µs | 168.699µs | 0.20% | 0.096 | -0.392 | 0.08% | 0.010µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5927728.854op/s | 5939504.530op/s ± 4919.801op/s | 5939626.870op/s ± 3663.901op/s | 5943324.869op/s | 5947530.842op/s | 5949534.170op/s | 5952552.344op/s | 0.22% | -0.093 | -0.392 | 0.08% | 347.882op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 36.855µs | 37.039µs ± 0.112µs | 37.049µs ± 0.094µs | 37.129µs | 37.211µs | 37.269µs | 37.283µs | 0.63% | 0.010 | -1.139 | 0.30% | 0.008µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 26821970.695op/s | 26998544.416op/s ± 81902.605op/s | 26991615.548op/s ± 68232.043op/s | 27082001.869op/s | 27117710.732op/s | 27127407.435op/s | 27133228.212op/s | 0.52% | -0.003 | -1.144 | 0.30% | 5791.389op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 46.294µs | 46.434µs ± 0.111µs | 46.425µs ± 0.034µs | 46.463µs | 46.525µs | 46.546µs | 47.807µs | 2.98% | 9.618 | 117.254 | 0.24% | 0.008µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 20917458.315op/s | 21535926.306op/s ± 50132.297op/s | 21540319.529op/s ± 15905.813op/s | 21553731.901op/s | 21579724.841op/s | 21593484.211op/s | 21601071.413op/s | 0.28% | -9.428 | 114.145 | 0.23% | 3544.889op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | execution_time | [496.441µs; 496.669µs] or [-0.023%; +0.023%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [2013423.745op/s; 2014339.734op/s] or [-0.023%; +0.023%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [371.826µs; 371.897µs] or [-0.010%; +0.010%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2688919.538op/s; 2689430.720op/s] or [-0.010%; +0.010%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [168.345µs; 168.384µs] or [-0.011%; +0.011%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5938822.693op/s; 5940186.367op/s] or [-0.011%; +0.011%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [37.024µs; 37.055µs] or [-0.042%; +0.042%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [26987193.502op/s; 27009895.329op/s] or [-0.042%; +0.042%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [46.419µs; 46.450µs] or [-0.033%; +0.033%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [21528978.452op/s; 21542874.160op/s] or [-0.032%; +0.032%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_add_sample_frames_x1000 | execution_time | 4.127ms | 4.135ms ± 0.005ms | 4.135ms ± 0.001ms | 4.136ms | 4.138ms | 4.166ms | 4.167ms | 0.78% | 4.266 | 20.861 | 0.13% | 0.000ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample_frames_x1000 | execution_time | [4.134ms; 4.136ms] or [-0.018%; +0.018%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sdk_test_data/rules-based | execution_time | 144.555µs | 146.892µs ± 1.634µs | 146.611µs ± 0.440µs | 147.075µs | 148.374µs | 152.426µs | 163.092µs | 11.24% | 6.025 | 50.794 | 1.11% | 0.116µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| sdk_test_data/rules-based | execution_time | [146.665µs; 147.118µs] or [-0.154%; +0.154%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| benching serializing traces from their internal representation to msgpack | execution_time | 13.955ms | 14.007ms ± 0.031ms | 14.002ms ± 0.012ms | 14.015ms | 14.044ms | 14.138ms | 14.186ms | 1.31% | 2.836 | 11.696 | 0.22% | 0.002ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| benching serializing traces from their internal representation to msgpack | execution_time | [14.003ms; 14.011ms] or [-0.031%; +0.031%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ip_address/quantize_peer_ip_address_benchmark | execution_time | 4.969µs | 5.041µs ± 0.047µs | 5.042µs ± 0.042µs | 5.077µs | 5.119µs | 5.122µs | 5.125µs | 1.64% | 0.209 | -1.249 | 0.92% | 0.003µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| ip_address/quantize_peer_ip_address_benchmark | execution_time | [5.035µs; 5.048µs] or [-0.128%; +0.128%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_add_sample2_frames_x1000 | execution_time | 738.092µs | 739.261µs ± 0.675µs | 739.173µs ± 0.294µs | 739.487µs | 740.032µs | 742.164µs | 743.046µs | 0.52% | 2.380 | 9.248 | 0.09% | 0.048µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample2_frames_x1000 | execution_time | [739.167µs; 739.354µs] or [-0.013%; +0.013%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| two way interface | execution_time | 14.072µs | 15.670µs ± 0.550µs | 15.703µs ± 0.217µs | 15.917µs | 16.381µs | 16.892µs | 16.959µs | 8.00% | -1.082 | 2.887 | 3.50% | 0.039µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| two way interface | execution_time | [15.593µs; 15.746µs] or [-0.486%; +0.486%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| write only interface | execution_time | 5.508µs | 5.556µs ± 0.023µs | 5.552µs ± 0.010µs | 5.564µs | 5.593µs | 5.638µs | 5.685µs | 2.38% | 1.855 | 6.459 | 0.41% | 0.002µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| write only interface | execution_time | [5.553µs; 5.559µs] or [-0.057%; +0.057%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| normalization/normalize_trace/test_trace | execution_time | 244.931ns | 255.400ns ± 12.978ns | 249.433ns ± 2.869ns | 258.135ns | 286.659ns | 298.016ns | 299.145ns | 19.93% | 1.956 | 3.083 | 5.07% | 0.918ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| normalization/normalize_trace/test_trace | execution_time | [253.602ns; 257.199ns] or [-0.704%; +0.704%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| concentrator/add_spans_to_concentrator | execution_time | 13.012ms | 13.045ms ± 0.014ms | 13.044ms ± 0.009ms | 13.053ms | 13.069ms | 13.081ms | 13.086ms | 0.32% | 0.386 | 0.073 | 0.11% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| concentrator/add_spans_to_concentrator | execution_time | [13.043ms; 13.047ms] or [-0.015%; +0.015%] | None | None | None |
Group 13
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sql/obfuscate_sql_string | execution_time | 286.081µs | 286.631µs ± 0.746µs | 286.542µs ± 0.174µs | 286.698µs | 287.058µs | 288.443µs | 295.860µs | 3.25% | 9.873 | 116.578 | 0.26% | 0.053µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| sql/obfuscate_sql_string | execution_time | [286.528µs; 286.735µs] or [-0.036%; +0.036%] | None | None | None |
Group 14
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| receiver_entry_point/report/2598 | execution_time | 3.607ms | 3.649ms ± 0.020ms | 3.644ms ± 0.013ms | 3.664ms | 3.684ms | 3.698ms | 3.717ms | 2.02% | 0.546 | -0.043 | 0.55% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| receiver_entry_point/report/2598 | execution_time | [3.646ms; 3.652ms] or [-0.076%; +0.076%] | None | None | None |
Group 15
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| single_flag_killswitch/rules-based | execution_time | 190.150ns | 192.182ns ± 1.990ns | 192.027ns ± 1.444ns | 193.021ns | 196.200ns | 198.430ns | 201.178ns | 4.77% | 1.395 | 2.271 | 1.03% | 0.141ns | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| single_flag_killswitch/rules-based | execution_time | [191.906ns; 192.458ns] or [-0.144%; +0.144%] | None | None | None |
Group 16
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_add_sample_timestamped_x1000 | execution_time | 4.208ms | 4.216ms ± 0.009ms | 4.215ms ± 0.002ms | 4.217ms | 4.220ms | 4.225ms | 4.334ms | 2.82% | 11.548 | 148.869 | 0.21% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample_timestamped_x1000 | execution_time | [4.214ms; 4.217ms] or [-0.030%; +0.030%] | None | None | None |
Group 17
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| benching string interning on wordpress profile | execution_time | 161.374µs | 162.260µs ± 0.657µs | 161.993µs ± 0.381µs | 162.897µs | 163.393µs | 163.829µs | 164.497µs | 1.55% | 0.751 | -0.460 | 0.40% | 0.046µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| benching string interning on wordpress profile | execution_time | [162.169µs; 162.351µs] or [-0.056%; +0.056%] | None | None | None |
Group 18
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| benching deserializing traces from msgpack to their internal representation | execution_time | 49.955ms | 50.283ms ± 1.245ms | 50.101ms ± 0.052ms | 50.170ms | 50.449ms | 57.625ms | 61.746ms | 23.24% | 8.114 | 66.355 | 2.47% | 0.088ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| benching deserializing traces from msgpack to their internal representation | execution_time | [50.111ms; 50.456ms] or [-0.343%; +0.343%] | None | None | None |
Group 19
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| profile_serialize_compressed_pprof_timestamped_x1000 | execution_time | 912.177µs | 913.902µs ± 1.103µs | 913.647µs ± 0.664µs | 914.482µs | 916.259µs | 916.858µs | 917.334µs | 0.40% | 0.949 | 0.483 | 0.12% | 0.078µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_serialize_compressed_pprof_timestamped_x1000 | execution_time | [913.749µs; 914.054µs] or [-0.017%; +0.017%] | None | None | None |
Group 20
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| credit_card/is_card_number/ | execution_time | 3.894µs | 3.916µs ± 0.006µs | 3.916µs ± 0.002µs | 3.918µs | 3.921µs | 3.924µs | 3.968µs | 1.33% | 5.447 | 48.579 | 0.14% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 252022890.583op/s | 255349653.005op/s ± 361598.739op/s | 255369238.182op/s ± 114525.981op/s | 255497841.046op/s | 255660323.328op/s | 255787501.067op/s | 256838152.458op/s | 0.58% | -5.358 | 47.765 | 0.14% | 25568.892op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 79.430µs | 80.217µs ± 0.181µs | 80.240µs ± 0.076µs | 80.305µs | 80.376µs | 80.436µs | 81.625µs | 1.73% | 1.111 | 20.484 | 0.22% | 0.013µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12251106.520op/s | 12466308.450op/s ± 28036.036op/s | 12462661.244op/s ± 11847.859op/s | 12476455.061op/s | 12501410.097op/s | 12558713.456op/s | 12589659.780op/s | 1.02% | -0.970 | 19.609 | 0.22% | 1982.447op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 67.803µs | 67.952µs ± 0.079µs | 67.946µs ± 0.039µs | 67.983µs | 68.051µs | 68.205µs | 68.587µs | 0.94% | 3.250 | 21.461 | 0.12% | 0.006µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 14579923.347op/s | 14716252.910op/s ± 16972.627op/s | 14717574.226op/s ± 8371.203op/s | 14726067.413op/s | 14736249.144op/s | 14740291.373op/s | 14748527.639op/s | 0.21% | -3.206 | 21.006 | 0.12% | 1200.146op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.897µs | 3.913µs ± 0.002µs | 3.913µs ± 0.001µs | 3.915µs | 3.917µs | 3.918µs | 3.919µs | 0.14% | -1.721 | 14.113 | 0.06% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 255194634.101op/s | 255530400.314op/s ± 143273.021op/s | 255542138.899op/s ± 78516.918op/s | 255607898.485op/s | 255699041.319op/s | 255777083.204op/s | 256599528.982op/s | 0.41% | 1.743 | 14.298 | 0.06% | 10130.933op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 64.849µs | 64.940µs ± 0.053µs | 64.929µs ± 0.024µs | 64.960µs | 65.015µs | 65.186µs | 65.258µs | 0.51% | 2.809 | 13.023 | 0.08% | 0.004µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 15323835.653op/s | 15398821.153op/s ± 12434.791op/s | 15401321.423op/s ± 5605.332op/s | 15405848.313op/s | 15411816.208op/s | 15415106.240op/s | 15420493.478op/s | 0.12% | -2.792 | 12.895 | 0.08% | 879.272op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 45.421µs | 45.666µs ± 0.073µs | 45.663µs ± 0.047µs | 45.709µs | 45.795µs | 45.846µs | 45.856µs | 0.42% | 0.217 | 0.189 | 0.16% | 0.005µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 21807241.432op/s | 21898010.312op/s ± 34903.449op/s | 21899555.516op/s ± 22561.778op/s | 21922265.839op/s | 21948955.956op/s | 21966898.632op/s | 22016404.423op/s | 0.53% | -0.207 | 0.193 | 0.16% | 2468.047op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 6.828µs | 6.838µs ± 0.012µs | 6.837µs ± 0.002µs | 6.839µs | 6.844µs | 6.852µs | 6.954µs | 1.72% | 8.240 | 74.761 | 0.17% | 0.001µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 143799287.255op/s | 146248365.955op/s ± 252341.971op/s | 146268559.573op/s ± 49298.524op/s | 146319497.073op/s | 146414069.010op/s | 146441394.294op/s | 146454949.336op/s | 0.13% | -8.193 | 74.175 | 0.17% | 17843.272op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.892µs | 3.914µs ± 0.003µs | 3.914µs ± 0.001µs | 3.915µs | 3.918µs | 3.920µs | 3.921µs | 0.19% | -2.195 | 19.797 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 255038813.314op/s | 255489875.581op/s ± 175261.045op/s | 255511498.017op/s ± 86856.236op/s | 255585276.041op/s | 255685873.403op/s | 255757955.539op/s | 256907183.406op/s | 0.55% | 2.230 | 20.121 | 0.07% | 12392.827op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 65.415µs | 65.768µs ± 0.062µs | 65.774µs ± 0.032µs | 65.806µs | 65.849µs | 65.890µs | 65.959µs | 0.28% | -1.566 | 7.490 | 0.09% | 0.004µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15161029.456op/s | 15204890.591op/s ± 14302.705op/s | 15203572.860op/s ± 7382.966op/s | 15210925.202op/s | 15224451.780op/s | 15248948.157op/s | 15287016.737op/s | 0.55% | 1.586 | 7.590 | 0.09% | 1011.354op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 53.353µs | 53.421µs ± 0.031µs | 53.415µs ± 0.018µs | 53.438µs | 53.482µs | 53.512µs | 53.540µs | 0.23% | 0.946 | 1.616 | 0.06% | 0.002µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 18677765.233op/s | 18719126.193op/s ± 10969.628op/s | 18721236.018op/s ± 6170.767op/s | 18726194.450op/s | 18734603.682op/s | 18740183.138op/s | 18742920.310op/s | 0.12% | -0.941 | 1.603 | 0.06% | 775.670op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.892µs | 3.914µs ± 0.003µs | 3.914µs ± 0.002µs | 3.916µs | 3.919µs | 3.922µs | 3.925µs | 0.28% | -1.254 | 13.229 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 254784260.057op/s | 255485909.469op/s ± 201543.733op/s | 255498403.136op/s ± 101779.355op/s | 255599178.871op/s | 255733866.064op/s | 255782665.723op/s | 256946118.449op/s | 0.57% | 1.286 | 13.456 | 0.08% | 14251.294op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 50.154µs | 50.211µs ± 0.031µs | 50.210µs ± 0.022µs | 50.231µs | 50.262µs | 50.294µs | 50.313µs | 0.21% | 0.460 | 0.082 | 0.06% | 0.002µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 19875418.887op/s | 19915782.821op/s ± 12356.137op/s | 19916329.508op/s ± 8639.038op/s | 19925001.795op/s | 19933288.670op/s | 19938554.082op/s | 19938760.092op/s | 0.11% | -0.456 | 0.076 | 0.06% | 873.711op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 45.435µs | 45.644µs ± 0.077µs | 45.638µs ± 0.046µs | 45.700µs | 45.771µs | 45.811µs | 45.823µs | 0.41% | -0.044 | -0.308 | 0.17% | 0.005µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 21823054.311op/s | 21908668.993op/s ± 36971.201op/s | 21911571.472op/s ± 21900.333op/s | 21931041.131op/s | 21968343.946op/s | 21997835.727op/s | 22009272.507op/s | 0.45% | 0.053 | -0.304 | 0.17% | 2614.259op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 6.827µs | 6.835µs ± 0.004µs | 6.835µs ± 0.002µs | 6.838µs | 6.842µs | 6.846µs | 6.848µs | 0.19% | 0.521 | 0.268 | 0.06% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 146024204.086op/s | 146302458.462op/s ± 81250.667op/s | 146308602.946op/s ± 51441.262op/s | 146357910.169op/s | 146425187.678op/s | 146447883.811op/s | 146475536.283op/s | 0.11% | -0.518 | 0.262 | 0.06% | 5745.290op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| credit_card/is_card_number/ | execution_time | [3.915µs; 3.917µs] or [-0.020%; +0.020%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255299538.897op/s; 255399767.113op/s] or [-0.020%; +0.020%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [80.192µs; 80.242µs] or [-0.031%; +0.031%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12462422.925op/s; 12470193.975op/s] or [-0.031%; +0.031%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [67.941µs; 67.963µs] or [-0.016%; +0.016%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [14713900.667op/s; 14718605.153op/s] or [-0.016%; +0.016%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.913µs; 3.914µs] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255510544.051op/s; 255550256.576op/s] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [64.933µs; 64.947µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [15397097.811op/s; 15400544.496op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [45.656µs; 45.676µs] or [-0.022%; +0.022%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [21893173.030op/s; 21902847.594op/s] or [-0.022%; +0.022%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [6.836µs; 6.839µs] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [146213393.785op/s; 146283338.126op/s] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.914µs; 3.914µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255465586.086op/s; 255514165.077op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [65.760µs; 65.777µs] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15202908.373op/s; 15206872.808op/s] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [53.417µs; 53.426µs] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [18717605.908op/s; 18720646.478op/s] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.914µs; 3.915µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255457977.446op/s; 255513841.492op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [50.207µs; 50.216µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [19914070.379op/s; 19917495.263op/s] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [45.633µs; 45.655µs] or [-0.023%; +0.023%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [21903545.140op/s; 21913792.846op/s] or [-0.023%; +0.023%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [6.835µs; 6.836µs] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [146291197.901op/s; 146313719.023op/s] or [-0.008%; +0.008%] | None | None | None |
Group 21
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 8683969 | 1774435693 | florian/bufwriter-compressor |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | execution_time | 185.709µs | 186.156µs ± 0.329µs | 186.075µs ± 0.142µs | 186.268µs | 186.650µs | 187.744µs | 188.316µs | 1.20% | 2.942 | 13.562 | 0.18% | 0.023µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 5310220.422op/s | 5371850.641op/s ± 9450.628op/s | 5374174.913op/s ± 4118.081op/s | 5377355.050op/s | 5381248.183op/s | 5384011.106op/s | 5384769.368op/s | 0.20% | -2.906 | 13.273 | 0.18% | 668.260op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 17.810µs | 17.879µs ± 0.030µs | 17.879µs ± 0.015µs | 17.897µs | 17.921µs | 17.953µs | 17.968µs | 0.50% | -0.023 | 0.625 | 0.16% | 0.002µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 55653169.448op/s | 55931926.018op/s ± 92435.421op/s | 55931303.203op/s ± 48290.418op/s | 55975035.135op/s | 56119377.143op/s | 56130856.233op/s | 56147330.595op/s | 0.39% | 0.036 | 0.615 | 0.16% | 6536.171op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 10.575µs | 10.629µs ± 0.022µs | 10.626µs ± 0.015µs | 10.648µs | 10.664µs | 10.676µs | 10.708µs | 0.77% | 0.283 | 0.242 | 0.21% | 0.002µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 93385191.817op/s | 94079218.983op/s ± 198760.453op/s | 94107268.640op/s ± 134361.341op/s | 94213764.560op/s | 94369144.985op/s | 94500409.448op/s | 94565651.301op/s | 0.49% | -0.270 | 0.223 | 0.21% | 14054.486op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | execution_time | [186.111µs; 186.202µs] or [-0.025%; +0.025%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [5370540.875op/s; 5373160.407op/s] or [-0.024%; +0.024%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [17.875µs; 17.883µs] or [-0.023%; +0.023%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [55919115.358op/s; 55944736.678op/s] or [-0.023%; +0.023%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [10.626µs; 10.633µs] or [-0.029%; +0.029%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [94051672.695op/s; 94106765.270op/s] or [-0.029%; +0.029%] | None | None | None |
Baseline
Omitted due to size.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1789 +/- ##
==========================================
- Coverage 71.01% 70.99% -0.02%
==========================================
Files 411 411
Lines 64794 64803 +9
==========================================
- Hits 46014 46008 -6
- Misses 18780 18795 +15
🚀 New features to boost your workflow:
|
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: 8683969 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
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
|
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
38d0957
into
main
What does this PR do?
This PR adds a benchmark for final profile serialization and wraps the profile compressor with a
BufWritersized to zstd's recommended input buffer size.Motivation
PR #1696 applied the same idea to the in-memory timestamped observations compressor and improved the
add_samplepath. @ivoanjo reached out and asked me if the profile serializer could benefit from this as well.The profile serializer has a similar write pattern: the protobuf encoder emits many small writes, including byte-at-a-time variant encoding, directly into the zstd encoder. I wanted to verify whether the same buffering approach would help there as well.
With the added benchmark, serialization of a profile with 1000 timestamped samples improved from about
640 µsto about307 µs, which is roughly a52.5%improvement on my machine.Additional Notes
The PR is split into two commits:
BufWriterto the profile compressorHow to test the change?
$ git checkout HEAD~1 $ cargo bench -p libdd-profiling -- profile_serialize_compressed_pprof_timestamped_x1000 [...] $ git checkout florian/bufwriter-compressor $ cargo bench -p libdd-profiling -- profile_serialize_compressed_pprof_timestamped_x1000 [...] profile_serialize_compressed_pprof_timestamped_x1000 time: [307.11 µs 308.48 µs 309.92 µs] change: [-50.573% -50.374% -50.162%] (p = 0.00 < 0.05) Performance has improved.