Skip to content

Conversation

@bengl
Copy link

@bengl bengl commented Nov 3, 2025

What does this PR do?

Title says it all

Motivation

I want to be able to use https://napi.rs's ability to work with tokio directly, rather than just blocking.

Additional notes

This is currently rebased on top of #1266, and should be re-re-based once that's merged.

@bengl bengl requested a review from a team as a code owner November 3, 2025 19:10
@bengl bengl force-pushed the bengl/async-vec-vec-span branch from 27f0ac3 to 6f00810 Compare November 3, 2025 19:11
@pr-commenter
Copy link

pr-commenter bot commented Nov 3, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-11-17 21:59:42

Comparing candidate commit 699b3a0 in PR branch bengl/async-vec-vec-span with baseline commit af93f6f in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 55 metrics, 2 unstable metrics.

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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/2597 execution_time 6.139ms 6.408ms ± 0.086ms 6.434ms ± 0.024ms 6.455ms 6.480ms 6.505ms 6.688ms 3.95% -1.443 2.348 1.35% 0.006ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [6.396ms; 6.420ms] or [-0.187%; +0.187%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 10.593ms 10.625ms ± 0.015ms 10.624ms ± 0.007ms 10.631ms 10.649ms 10.669ms 10.710ms 0.81% 1.844 7.670 0.14% 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 [10.623ms; 10.627ms] or [-0.020%; +0.020%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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.892µs 3.914µs ± 0.007µs 3.913µs ± 0.002µs 3.915µs 3.919µs 3.921µs 3.976µs 1.60% 6.941 61.867 0.17% 0.000µs 1 200
credit_card/is_card_number/ throughput 251520909.348op/s 255488648.740op/s ± 426565.717op/s 255532897.064op/s ± 104937.352op/s 255630554.244op/s 255763849.995op/s 255843774.627op/s 256953554.238op/s 0.56% -6.862 61.071 0.17% 30162.751op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 80.356µs 81.613µs ± 0.573µs 81.622µs ± 0.398µs 82.006µs 82.549µs 83.041µs 83.093µs 1.80% 0.185 -0.337 0.70% 0.041µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12034755.199op/s 12253500.479op/s ± 85973.132op/s 12251639.734op/s ± 59778.344op/s 12316763.746op/s 12388062.080op/s 12433288.296op/s 12444646.617op/s 1.58% -0.151 -0.361 0.70% 6079.218op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 75.241µs 75.724µs ± 0.207µs 75.687µs ± 0.099µs 75.804µs 76.072µs 76.425µs 76.747µs 1.40% 1.559 5.291 0.27% 0.015µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13029781.540op/s 13206034.777op/s ± 36004.786op/s 13212383.970op/s ± 17347.619op/s 13226790.202op/s 13252385.700op/s 13274933.964op/s 13290703.737op/s 0.59% -1.520 5.106 0.27% 2545.923op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.894µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.919µs 3.921µs 0.22% -1.028 9.753 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255036496.860op/s 255595293.847op/s ± 174411.002op/s 255607502.097op/s ± 101043.011op/s 255698833.992op/s 255807153.912op/s 255865159.975op/s 256782044.787op/s 0.46% 1.050 9.903 0.07% 12332.720op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 72.184µs 72.841µs ± 0.189µs 72.846µs ± 0.115µs 72.948µs 73.164µs 73.253µs 73.351µs 0.69% -0.281 0.837 0.26% 0.013µs 1 200
credit_card/is_card_number/378282246310005 throughput 13633131.830op/s 13728716.248op/s ± 35597.875op/s 13727683.258op/s ± 21683.061op/s 13750569.455op/s 13787716.191op/s 13828651.917op/s 13853449.378op/s 0.92% 0.303 0.862 0.26% 2517.150op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 53.047µs 53.136µs ± 0.076µs 53.126µs ± 0.021µs 53.149µs 53.190µs 53.225µs 53.988µs 1.62% 8.136 83.738 0.14% 0.005µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 18522725.424op/s 18819780.650op/s ± 26520.845op/s 18823287.574op/s ± 7323.433op/s 18829963.833op/s 18839414.424op/s 18845446.075op/s 18851079.563op/s 0.15% -8.053 82.430 0.14% 1875.307op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.429µs 6.438µs ± 0.006µs 6.437µs ± 0.003µs 6.441µs 6.449µs 6.456µs 6.465µs 0.44% 1.424 3.277 0.09% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154676422.005op/s 155325920.743op/s ± 135917.864op/s 155358135.028op/s ± 72638.689op/s 155415279.284op/s 155489774.493op/s 155541876.329op/s 155555593.396op/s 0.13% -1.415 3.237 0.09% 9610.844op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.892µs 3.912µs ± 0.002µs 3.912µs ± 0.001µs 3.913µs 3.915µs 3.917µs 3.921µs 0.22% -2.099 19.014 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255067521.043op/s 255633654.046op/s ± 160778.474op/s 255637195.214op/s ± 87453.429op/s 255723265.007op/s 255819729.964op/s 255893857.250op/s 256915432.707op/s 0.50% 2.131 19.288 0.06% 11368.755op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.975µs 65.151µs ± 0.167µs 65.123µs ± 0.078µs 65.202µs 65.362µs 65.740µs 66.386µs 1.94% 4.079 24.763 0.26% 0.012µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15063378.677op/s 15349046.423op/s ± 38934.014op/s 15355591.640op/s ± 18475.383op/s 15373569.375op/s 15383577.419op/s 15387190.212op/s 15390473.297op/s 0.23% -4.002 24.012 0.25% 2753.051op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.188µs 58.419µs ± 0.129µs 58.399µs ± 0.088µs 58.500µs 58.658µs 58.745µs 58.784µs 0.66% 0.546 -0.340 0.22% 0.009µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17011355.970op/s 17117681.473op/s ± 37650.467op/s 17123716.462op/s ± 25939.864op/s 17148362.850op/s 17168604.632op/s 17176814.293op/s 17185818.263op/s 0.36% -0.537 -0.354 0.22% 2662.290op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.892µs 3.912µs ± 0.002µs 3.912µs ± 0.001µs 3.913µs 3.915µs 3.916µs 3.919µs 0.18% -3.108 29.389 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255192880.707op/s 255651302.121op/s ± 145876.085op/s 255656231.656op/s ± 78740.102op/s 255726199.198op/s 255809651.528op/s 255844679.463op/s 256946653.775op/s 0.50% 3.145 29.775 0.06% 10314.997op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 55.127µs 55.485µs ± 0.190µs 55.478µs ± 0.125µs 55.595µs 55.782µs 55.940µs 56.260µs 1.41% 0.711 1.073 0.34% 0.013µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17774623.082op/s 18022953.280op/s ± 61711.950op/s 18025017.730op/s ± 40641.979op/s 18069506.894op/s 18111026.811op/s 18131104.377op/s 18139855.076op/s 0.64% -0.684 0.995 0.34% 4363.694op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 53.062µs 53.122µs ± 0.029µs 53.121µs ± 0.017µs 53.139µs 53.166µs 53.205µs 53.234µs 0.21% 0.533 0.888 0.05% 0.002µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18785003.842op/s 18824684.794op/s ± 10101.596op/s 18825019.010op/s ± 6152.918op/s 18830846.072op/s 18840022.227op/s 18845059.660op/s 18845884.044op/s 0.11% -0.529 0.878 0.05% 714.291op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.431µs 6.439µs ± 0.005µs 6.438µs ± 0.003µs 6.442µs 6.449µs 6.455µs 6.458µs 0.31% 0.933 0.927 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 154845512.935op/s 155309256.507op/s ± 129659.904op/s 155320727.556op/s ± 83193.025op/s 155406896.639op/s 155480003.865op/s 155502705.708op/s 155506870.790op/s 0.12% -0.928 0.912 0.08% 9168.340op/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.913µs; 3.915µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/ throughput [255429530.834op/s; 255547766.645op/s] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [81.534µs; 81.693µs] or [-0.097%; +0.097%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12241585.430op/s; 12265415.528op/s] or [-0.097%; +0.097%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [75.695µs; 75.752µs] or [-0.038%; +0.038%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13201044.860op/s; 13211024.694op/s] or [-0.038%; +0.038%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255571122.160op/s; 255619465.535op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [72.814µs; 72.867µs] or [-0.036%; +0.036%] None None None
credit_card/is_card_number/378282246310005 throughput [13723782.725op/s; 13733649.771op/s] or [-0.036%; +0.036%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [53.125µs; 53.146µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [18816105.116op/s; 18823456.184op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.437µs; 6.439µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/x371413321323331 throughput [155307083.834op/s; 155344757.652op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255611371.696op/s; 255655936.397op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.128µs; 65.174µs] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15343650.543op/s; 15354442.302op/s] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.402µs; 58.437µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17112463.480op/s; 17122899.466op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255631085.098op/s; 255671519.143op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [55.459µs; 55.512µs] or [-0.048%; +0.048%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18014400.597op/s; 18031505.963op/s] or [-0.047%; +0.047%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [53.118µs; 53.126µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [18823284.810op/s; 18826084.778op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.438µs; 6.440µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155291286.891op/s; 155327226.123op/s] or [-0.012%; +0.012%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 33.432µs 33.842µs ± 0.652µs 33.545µs ± 0.043µs 33.631µs 35.154µs 35.188µs 37.556µs 11.96% 2.153 4.943 1.92% 0.046µ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 [33.752µs; 33.933µs] or [-0.267%; +0.267%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 89.961µs 90.107µs ± 0.144µs 90.090µs ± 0.043µs 90.131µs 90.237µs 90.506µs 91.688µs 1.77% 7.390 73.747 0.16% 0.010µ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 [90.087µs; 90.127µs] or [-0.022%; +0.022%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 205.262µs 205.780µs ± 0.288µs 205.731µs ± 0.193µs 205.944µs 206.246µs 206.441µs 207.573µs 0.90% 1.555 6.506 0.14% 0.020µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4817576.603op/s 4859558.049op/s ± 6789.268op/s 4860724.160op/s ± 4558.466op/s 4864427.262op/s 4868241.985op/s 4869632.400op/s 4871810.807op/s 0.23% -1.530 6.321 0.14% 480.074op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.198µs 18.284µs ± 0.076µs 18.260µs ± 0.020µs 18.292µs 18.490µs 18.525µs 18.540µs 1.53% 2.074 3.471 0.41% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53937603.711op/s 54694990.148op/s ± 225217.642op/s 54764298.373op/s ± 60600.277op/s 54819870.085op/s 54900401.803op/s 54932073.222op/s 54950154.669op/s 0.34% -2.059 3.421 0.41% 15925.292op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.576µs 10.843µs ± 0.092µs 10.859µs ± 0.056µs 10.913µs 10.956µs 10.990µs 11.020µs 1.48% -0.766 0.116 0.84% 0.006µs 1 200
normalization/normalize_name/normalize_name/good throughput 90746616.052op/s 92233745.381op/s ± 785146.432op/s 92092424.276op/s ± 468463.001op/s 92601706.805op/s 93796759.607op/s 94313574.526op/s 94556299.976op/s 2.68% 0.805 0.187 0.85% 55518.237op/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 [205.741µs; 205.820µs] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4858617.122op/s; 4860498.977op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.273µs; 18.294µs] or [-0.058%; +0.058%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54663777.149op/s; 54726203.148op/s] or [-0.057%; +0.057%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.830µs; 10.856µs] or [-0.117%; +0.117%] None None None
normalization/normalize_name/normalize_name/good throughput [92124931.637op/s; 92342559.125op/s] or [-0.118%; +0.118%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 243.307ns 253.925ns ± 13.083ns 248.593ns ± 3.582ns 258.969ns 284.523ns 296.362ns 303.679ns 22.16% 1.867 2.770 5.14% 0.925ns 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 [252.112ns; 255.738ns] or [-0.714%; +0.714%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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.927µs 4.992µs ± 0.039µs 4.997µs ± 0.030µs 5.022µs 5.056µs 5.057µs 5.059µs 1.24% 0.054 -1.251 0.79% 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 [4.987µs; 4.997µs] or [-0.109%; +0.109%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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.923µs 146.968µs ± 1.824µs 146.731µs ± 0.623µs 147.311µs 148.657µs 152.041µs 164.751µs 12.28% 6.220 52.002 1.24% 0.129µ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.715µs; 147.221µs] or [-0.172%; +0.172%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 14.851ms 14.916ms ± 0.033ms 14.913ms ± 0.017ms 14.928ms 14.970ms 15.021ms 15.106ms 1.29% 1.797 6.636 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.911ms; 14.920ms] or [-0.030%; +0.030%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 159.092µs 160.253µs ± 0.352µs 160.200µs ± 0.163µs 160.392µs 160.711µs 161.268µs 163.096µs 1.81% 2.794 20.921 0.22% 0.025µ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 [160.205µs; 160.302µs] or [-0.030%; +0.030%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 189.157ns 192.066ns ± 2.113ns 191.711ns ± 1.298ns 192.985ns 196.320ns 198.524ns 204.223ns 6.53% 1.949 6.267 1.10% 0.149ns 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.773ns; 192.358ns] or [-0.152%; +0.152%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 534.017µs 535.759µs ± 0.630µs 535.804µs ± 0.310µs 536.088µs 536.540µs 536.946µs 539.730µs 0.73% 0.734 7.426 0.12% 0.045µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1852779.049op/s 1866513.391op/s ± 2194.418op/s 1866355.242op/s ± 1079.519op/s 1867481.174op/s 1870730.971op/s 1871772.215op/s 1872599.561op/s 0.33% -0.703 7.246 0.12% 155.169op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.168µs 380.944µs ± 0.300µs 380.928µs ± 0.183µs 381.117µs 381.475µs 381.648µs 381.829µs 0.24% 0.293 -0.003 0.08% 0.021µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2618971.924op/s 2625060.551op/s ± 2066.672op/s 2625166.662op/s ± 1261.263op/s 2626379.677op/s 2628124.002op/s 2629103.019op/s 2630412.717op/s 0.20% -0.289 -0.007 0.08% 146.136op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 195.946µs 196.539µs ± 0.514µs 196.493µs ± 0.128µs 196.616µs 196.860µs 197.832µs 201.253µs 2.42% 7.428 64.328 0.26% 0.036µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 4968877.826op/s 5088072.846op/s ± 13044.048op/s 5089235.050op/s ± 3306.714op/s 5092580.262op/s 5097502.279op/s 5102472.855op/s 5103440.699op/s 0.28% -7.341 63.284 0.26% 922.353op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.703µs 36.983µs ± 0.087µs 36.983µs ± 0.054µs 37.031µs 37.139µs 37.180µs 37.325µs 0.93% 0.384 1.162 0.23% 0.006µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26791410.798op/s 27039548.096op/s ± 63454.011op/s 27039520.698op/s ± 39310.982op/s 27082917.463op/s 27133597.387op/s 27170957.993op/s 27245651.546op/s 0.76% -0.363 1.133 0.23% 4486.876op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 44.881µs 45.067µs ± 0.189µs 45.011µs ± 0.126µs 45.227µs 45.337µs 45.386µs 46.305µs 2.87% 1.641 7.357 0.42% 0.013µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21595846.687op/s 22189323.712op/s ± 92263.210op/s 22216616.356op/s ± 62133.381op/s 22267878.245op/s 22279872.906op/s 22280758.672op/s 22281055.211op/s 0.29% -1.561 6.662 0.41% 6523.994op/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 [535.672µs; 535.846µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1866209.266op/s; 1866817.516op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.902µs; 380.985µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2624774.130op/s; 2625346.972op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [196.468µs; 196.611µs] or [-0.036%; +0.036%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5086265.066op/s; 5089880.625op/s] or [-0.036%; +0.036%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.971µs; 36.995µs] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27030753.981op/s; 27048342.212op/s] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.041µs; 45.094µs] or [-0.058%; +0.058%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [22176536.918op/s; 22202110.506op/s] or [-0.058%; +0.058%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 17.999µs 25.452µs ± 8.941µs 18.188µs ± 0.156µs 33.121µs 42.046µs 47.087µs 54.317µs 198.64% 0.732 -0.591 35.04% 0.632µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.213µs; 26.691µs] or [-4.869%; +4.869%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 1.178µs 3.232µs ± 1.435µs 3.011µs ± 0.026µs 3.038µs 3.648µs 14.144µs 14.785µs 391.01% 7.292 54.532 44.30% 0.101µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.033µs; 3.431µs] or [-6.156%; +6.156%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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 60.806ms 61.304ms ± 1.749ms 61.040ms ± 0.077ms 61.144ms 61.458ms 68.727ms 80.568ms 31.99% 8.690 82.594 2.85% 0.124ms 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 [61.062ms; 61.547ms] or [-0.395%; +0.395%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 699b3a0 1763415883 bengl/async-vec-vec-span
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.389µs 2.428µs ± 0.024µs 2.422µs ± 0.018µs 2.448µs 2.466µs 2.472µs 2.486µs 2.64% 0.294 -1.126 0.99% 0.002µ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.424µs; 2.431µs] or [-0.138%; +0.138%] None None None

Baseline

Omitted due to size.

@datadog-official
Copy link

datadog-official bot commented Nov 3, 2025

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 699b3a0 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@codecov-commenter
Copy link

codecov-commenter commented Nov 3, 2025

Codecov Report

❌ Patch coverage is 52.63158% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.98%. Comparing base (af93f6f) to head (699b3a0).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1302   +/-   ##
=======================================
  Coverage   70.97%   70.98%           
=======================================
  Files         390      390           
  Lines       62586    62593    +7     
=======================================
+ Hits        44419    44430   +11     
+ Misses      18167    18163    -4     
Components Coverage Δ
libdd-crashtracker 57.66% <ø> (ø)
libdd-crashtracker-ffi 14.25% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 85.96% <52.63%> (-0.14%) ⬇️
libdd-data-pipeline-ffi 78.16% <ø> (ø)
libdd-common 80.93% <ø> (ø)
libdd-common-ffi 73.90% <ø> (ø)
libdd-telemetry 60.02% <ø> (ø)
libdd-telemetry-ffi 21.24% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.71% <ø> (+0.10%) ⬆️
libdd-profiling 79.69% <ø> (ø)
libdd-profiling-ffi 62.13% <ø> (ø)
datadog-sidecar 36.17% <ø> (ø)
datdog-sidecar-ffi 12.32% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 92.44% <ø> (ø)
libdd-trace-normalization 98.24% <ø> (ø)
datadog-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 59.65% <ø> (ø)
libdd-trace-utils 90.07% <ø> (ø)
datadog-tracer-flare 61.06% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Nov 3, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.32 MB 7.32 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 84.53 MB 84.54 MB +.01% (+11.18 KB) 🔍
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 56.91 MB 56.91 MB +0% (+5.49 KB) 👌
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.30 MB 8.30 MB +0% (+208 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 98.09 MB 98.10 MB +0% (+8.09 KB) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.36 MB 9.36 MB +0% (+496 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 18.93 MB 18.93 MB +0% (+1.50 KB) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 65.49 KB 65.49 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 133.23 MB 133.23 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 712.21 MB 712.34 MB +.01% (+135.78 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.18 MB 6.19 MB +.03% (+2.50 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 65.49 KB 65.49 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.26 MB 19.26 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 37.83 MB 37.84 MB +.01% (+4.95 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 16.08 MB 16.08 MB +0% (+512 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 66.50 KB 66.50 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 135.48 MB 135.48 MB -0% (-8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 700.71 MB 700.84 MB +.01% (+134.58 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.74 MB 4.74 MB +.02% (+1.00 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 66.50 KB 66.50 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 20.44 MB 20.44 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 35.60 MB 35.61 MB +.01% (+4.48 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 72.98 MB 72.98 MB +0% (+1.42 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.71 MB 8.71 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 58.38 MB 58.38 MB +0% (+1.57 KB) 👌
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.36 MB 9.37 MB +0% (+352 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 92.47 MB 92.47 MB +0% (+1.51 KB) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.10 MB 10.10 MB +0% (+384 B) 👌

@bengl bengl force-pushed the bengl/async-vec-vec-span branch from 6f00810 to 3e4c8ac Compare November 3, 2025 20:02
@bengl bengl requested review from a team as code owners November 3, 2025 20:02
#[no_mangle]
pub extern "C" fn ddog_set_span_trace_id(span: &mut SpanBytes, value: u64) {
span.trace_id = value;
span.trace_id = value as u128;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the benefit of making trace_id u128 internally if we can only accept u64 as input?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

protocol v1 will be u128, so it will happen sooner or later.

#[cfg(target_os = "linux")]
if let Err(e) = init_crashtracker(trampoline_data.dependency_paths) {
warn!("Failed to initialize crashtracker: {e}");
tracing::warn!("Failed to initialize crashtracker: {e}");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style nit: why not include warn in the import on line 23?

Copy link
Contributor

@VianneyRuhlmann VianneyRuhlmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

(*index).try_into()
pub fn get_or_insert(&mut self, s: T) -> Result<u32, std::num::TryFromIntError> {
if let Some(index) = self.map.get_index_of(s.borrow()) {
(index).try_into()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(index).try_into()
index.try_into()

.block_on(async { self.send_trace_chunks_inner(trace_chunks).await })
}

pub async fn send_trace_chunks_async<T: SpanText>(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We try to keep all public functions documented with rustdoc

@bengl bengl force-pushed the bengl/async-vec-vec-span branch from 3e4c8ac to 326e055 Compare November 17, 2025 21:42
@bengl bengl force-pushed the bengl/async-vec-vec-span branch from 326e055 to 699b3a0 Compare November 17, 2025 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants