Skip to content

Conversation

@danielsn
Copy link
Contributor

@danielsn danielsn commented Dec 3, 2025

What does this PR do?

Provides a C++ api for profiling

Motivation

A type-safe ideomatic interface. What's not to love?

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Run the new CPP example.

@codecov-commenter
Copy link

codecov-commenter commented Dec 3, 2025

Codecov Report

❌ Patch coverage is 0% with 141 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.81%. Comparing base (6b26318) to head (f3d75a3).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1382      +/-   ##
==========================================
- Coverage   70.96%   70.81%   -0.16%     
==========================================
  Files         400      401       +1     
  Lines       63691    63832     +141     
==========================================
+ Hits        45199    45202       +3     
- Misses      18492    18630     +138     
Components Coverage Δ
libdd-crashtracker 58.70% <ø> (ø)
libdd-crashtracker-ffi 16.74% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 85.81% <ø> (ø)
libdd-data-pipeline-ffi 76.59% <ø> (ø)
libdd-common 81.15% <ø> (ø)
libdd-common-ffi 74.96% <ø> (ø)
libdd-telemetry 60.02% <ø> (+0.03%) ⬆️
libdd-telemetry-ffi 21.24% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.61% <ø> (ø)
libdd-profiling 78.36% <0.00%> (-1.28%) ⬇️
libdd-profiling-ffi 62.13% <ø> (ø)
datadog-sidecar 35.88% <ø> (ø)
datdog-sidecar-ffi 10.82% <ø> (ø)
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 89.88% <ø> (ø)
datadog-tracer-flare 63.49% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pr-commenter
Copy link

pr-commenter bot commented Dec 3, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-12-05 03:12:19

Comparing candidate commit f3d75a3 in PR branch dsn/r-and-d-profiling-cxx with baseline commit 6b26318 in branch main.

Found 6 performance improvements and 3 performance regressions! Performance is the same for 46 metrics, 2 unstable metrics.

scenario:credit_card/is_card_number/ 3782-8224-6310-005

  • 🟩 execution_time [-4.044µs; -3.693µs] or [-4.952%; -4.522%]
  • 🟩 throughput [+580087.300op/s; +633290.796op/s] or [+4.737%; +5.171%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟩 execution_time [-403.008ns; -401.371ns] or [-6.262%; -6.236%]
  • 🟩 throughput [+10335328.179op/s; +10376825.629op/s] or [+6.652%; +6.679%]

scenario:credit_card/is_card_number_no_luhn/ 3782-8224-6310-005

  • 🟥 execution_time [+2.757µs; +2.906µs] or [+4.396%; +4.633%]
  • 🟥 throughput [-708604.062op/s; -670925.854op/s] or [-4.444%; -4.208%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟩 execution_time [-401.482ns; -399.896ns] or [-6.238%; -6.214%]
  • 🟩 throughput [+10296104.468op/s; +10336827.063op/s] or [+6.626%; +6.652%]

scenario:sql/obfuscate_sql_string

  • 🟥 execution_time [+6.460µs; +6.520µs] or [+7.629%; +7.699%]

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 f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.742µs 25.600µs ± 9.410µs 18.562µs ± 0.617µs 33.645µs 43.014µs 44.065µs 67.796µs 265.24% 0.987 0.646 36.67% 0.665µ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.296µs; 26.905µs] or [-5.094%; +5.094%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.913µs ± 0.003µs 3.913µs ± 0.001µs 3.914µs 3.916µs 3.917µs 3.919µs 0.15% -1.899 11.475 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 255181802.314op/s 255584803.803op/s ± 172784.455op/s 255554895.941op/s ± 97235.875op/s 255686320.814op/s 255846436.274op/s 255877299.977op/s 256822674.640op/s 0.50% 1.919 11.651 0.07% 12217.706op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.055µs 77.807µs ± 0.460µs 77.728µs ± 0.346µs 78.117µs 78.635µs 78.953µs 79.385µs 2.13% 0.567 0.095 0.59% 0.033µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12596870.176op/s 12852704.269op/s ± 75755.687op/s 12865394.662op/s ± 57314.349op/s 12916304.901op/s 12961132.702op/s 12975222.660op/s 12977798.006op/s 0.87% -0.535 0.027 0.59% 5356.736op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.625µs 71.199µs ± 0.369µs 71.165µs ± 0.265µs 71.470µs 71.792µs 72.159µs 72.280µs 1.57% 0.429 -0.463 0.52% 0.026µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13835155.011op/s 14045436.230op/s ± 72598.929op/s 14051840.134op/s ± 52109.700op/s 14098339.216op/s 14147275.811op/s 14156015.794op/s 14159303.410op/s 0.76% -0.408 -0.498 0.52% 5133.519op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.891µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.916µs 3.918µs 3.920µs 0.19% -1.874 14.055 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255112857.758op/s 255606575.493op/s ± 188192.120op/s 255608185.540op/s ± 107873.428op/s 255715029.651op/s 255867269.399op/s 255931405.518op/s 257014087.327op/s 0.55% 1.902 14.295 0.07% 13307.192op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.424µs 67.825µs ± 0.296µs 67.776µs ± 0.230µs 68.002µs 68.318µs 68.646µs 68.857µs 1.60% 0.688 0.286 0.43% 0.021µs 1 200
credit_card/is_card_number/378282246310005 throughput 14522853.132op/s 14744195.203op/s ± 64108.637op/s 14754592.006op/s ± 50010.372op/s 14806000.642op/s 14823951.355op/s 14829401.617op/s 14831585.344op/s 0.52% -0.665 0.215 0.43% 4533.165op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.770µs 45.181µs ± 0.157µs 45.194µs ± 0.107µs 45.294µs 45.418µs 45.497µs 45.585µs 0.86% -0.286 -0.244 0.35% 0.011µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21937157.751op/s 22133393.594op/s ± 76908.719op/s 22126811.155op/s ± 52615.863op/s 22180414.163op/s 22269964.952op/s 22315554.353op/s 22336577.000op/s 0.95% 0.303 -0.235 0.35% 5438.268op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.027µs 6.034µs ± 0.004µs 6.034µs ± 0.002µs 6.036µs 6.040µs 6.044µs 6.047µs 0.22% 0.614 0.801 0.06% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 165368652.407op/s 165727521.895op/s ± 96418.963op/s 165736009.330op/s ± 63650.781op/s 165796870.584op/s 165879449.623op/s 165904121.427op/s 165916423.554op/s 0.11% -0.610 0.791 0.06% 6817.850op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.890µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.913µs 3.916µs 3.918µs 3.922µs 0.27% -1.685 14.453 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254948640.861op/s 255639016.503op/s ± 190649.732op/s 255636282.658op/s ± 117154.461op/s 255754494.889op/s 255881958.941op/s 255935026.458op/s 257063154.496op/s 0.56% 1.715 14.694 0.07% 13480.972op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.276µs 65.554µs ± 0.097µs 65.559µs ± 0.065µs 65.624µs 65.706µs 65.735µs 65.779µs 0.33% -0.377 -0.035 0.15% 0.007µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15202503.306op/s 15254593.321op/s ± 22492.293op/s 15253368.166op/s ± 15060.455op/s 15268122.070op/s 15294821.865op/s 15311323.547op/s 15319615.235op/s 0.43% 0.385 -0.027 0.15% 1590.445op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 52.943µs 53.008µs ± 0.031µs 53.003µs ± 0.018µs 53.026µs 53.070µs 53.087µs 53.092µs 0.17% 0.623 0.008 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18835325.144op/s 18864923.156op/s ± 11176.115op/s 18866825.517op/s ± 6550.324op/s 18872551.290op/s 18881303.829op/s 18883600.292op/s 18888202.429op/s 0.11% -0.620 0.005 0.06% 790.271op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.892µs 3.912µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.917µs 3.919µs 3.920µs 0.21% -0.815 9.288 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255131312.305op/s 255651745.160op/s ± 192818.018op/s 255658544.973op/s ± 104270.378op/s 255770663.041op/s 255865745.996op/s 255924273.864op/s 256946421.396op/s 0.50% 0.839 9.449 0.08% 13634.293op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 49.732µs 49.814µs ± 0.057µs 49.811µs ± 0.028µs 49.836µs 49.896µs 49.938µs 50.344µs 1.07% 4.228 36.090 0.11% 0.004µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19863403.034op/s 20074736.191op/s ± 22804.733op/s 20075914.926op/s ± 11186.694op/s 20088502.848op/s 20101776.997op/s 20105396.751op/s 20107654.984op/s 0.16% -4.159 35.247 0.11% 1612.538op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.727µs 45.172µs ± 0.150µs 45.164µs ± 0.103µs 45.272µs 45.419µs 45.472µs 45.543µs 0.84% -0.123 -0.161 0.33% 0.011µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21957082.212op/s 22137646.313op/s ± 73494.720op/s 22141657.910op/s ± 50277.544op/s 22185373.199op/s 22256253.494op/s 22298755.123op/s 22357636.991op/s 0.98% 0.141 -0.151 0.33% 5196.861op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.027µs 6.035µs ± 0.004µs 6.035µs ± 0.003µs 6.038µs 6.042µs 6.043µs 6.045µs 0.17% 0.204 -0.595 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 165428680.421op/s 165699324.781op/s ± 105320.453op/s 165709263.149op/s ± 81600.541op/s 165780946.692op/s 165854803.068op/s 165901365.283op/s 165920275.758op/s 0.13% -0.202 -0.597 0.06% 7447.281op/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.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255560857.540op/s; 255608750.067op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.744µs; 77.871µs] or [-0.082%; +0.082%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12842205.260op/s; 12863203.279op/s] or [-0.082%; +0.082%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.148µs; 71.251µs] or [-0.072%; +0.072%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14035374.717op/s; 14055497.744op/s] or [-0.072%; +0.072%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255580493.875op/s; 255632657.111op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [67.784µs; 67.866µs] or [-0.060%; +0.060%] None None None
credit_card/is_card_number/378282246310005 throughput [14735310.362op/s; 14753080.043op/s] or [-0.060%; +0.060%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.159µs; 45.203µs] or [-0.048%; +0.048%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22122734.785op/s; 22144052.403op/s] or [-0.048%; +0.048%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.034µs; 6.034µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/x371413321323331 throughput [165714159.154op/s; 165740884.636op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255612594.284op/s; 255665438.722op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.541µs; 65.568µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15251476.105op/s; 15257710.536op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.004µs; 53.013µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18863374.254op/s; 18866472.058op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255625022.437op/s; 255678467.883op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [49.806µs; 49.822µs] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [20071575.674op/s; 20077896.707op/s] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.152µs; 45.193µs] or [-0.046%; +0.046%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22127460.651op/s; 22147831.974op/s] or [-0.046%; +0.046%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.034µs; 6.036µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165684728.379op/s; 165713921.183op/s] or [-0.009%; +0.009%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.323ms 60.797ms ± 2.489ms 60.454ms ± 0.046ms 60.513ms 60.854ms 79.814ms 82.413ms 36.32% 7.972 62.022 4.08% 0.176ms 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 [60.453ms; 61.142ms] or [-0.567%; +0.567%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.613µs 146.491µs ± 1.592µs 146.204µs ± 0.692µs 147.013µs 148.253µs 152.692µs 161.686µs 10.59% 5.140 42.017 1.08% 0.113µ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.270µs; 146.711µs] or [-0.151%; +0.151%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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 186.152ns 188.974ns ± 2.200ns 188.866ns ± 1.640ns 190.219ns 192.676ns 195.794ns 197.518ns 4.58% 0.918 0.883 1.16% 0.156ns 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 [188.669ns; 189.279ns] or [-0.161%; +0.161%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.996µs 5.080µs ± 0.046µs 5.082µs ± 0.036µs 5.109µs 5.170µs 5.174µs 5.175µs 1.83% 0.477 -0.579 0.90% 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.074µs; 5.086µs] or [-0.125%; +0.125%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.098ms 6.386ms ± 0.070ms 6.400ms ± 0.018ms 6.416ms 6.464ms 6.482ms 6.549ms 2.33% -2.333 6.316 1.09% 0.005ms 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.377ms; 6.396ms] or [-0.151%; +0.151%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.261µs 162.241µs ± 0.311µs 162.192µs ± 0.145µs 162.362µs 162.815µs 163.102µs 163.388µs 0.74% 0.291 2.091 0.19% 0.022µ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.197µs; 162.284µs] or [-0.027%; +0.027%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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 246.142ns 257.662ns ± 12.873ns 251.882ns ± 3.841ns 259.593ns 288.634ns 295.045ns 295.821ns 17.44% 1.637 1.567 4.98% 0.910ns 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 [255.878ns; 259.446ns] or [-0.692%; +0.692%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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 90.725µs 91.168µs ± 0.152µs 91.172µs ± 0.081µs 91.254µs 91.359µs 91.523µs 92.088µs 1.00% 0.820 6.156 0.17% 0.011µ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 [91.147µs; 91.189µs] or [-0.023%; +0.023%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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 204.236µs 204.864µs ± 0.398µs 204.813µs ± 0.260µs 205.085µs 205.601µs 206.225µs 206.506µs 0.83% 1.116 2.085 0.19% 0.028µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4842474.311op/s 4881314.816op/s ± 9452.551op/s 4882490.978op/s ± 6191.601op/s 4888471.666op/s 4893634.151op/s 4895795.442op/s 4896306.808op/s 0.28% -1.099 2.022 0.19% 668.396op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.582µs 18.676µs ± 0.091µs 18.644µs ± 0.023µs 18.684µs 18.838µs 18.974µs 19.306µs 3.55% 2.737 11.504 0.49% 0.006µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51797141.325op/s 53545525.162op/s ± 258520.944op/s 53637265.718op/s ± 66864.379op/s 53693138.031op/s 53758514.077op/s 53793731.575op/s 53816845.767op/s 0.33% -2.652 10.679 0.48% 18280.191op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.827µs 10.922µs ± 0.052µs 10.911µs ± 0.038µs 10.957µs 11.018µs 11.050µs 11.060µs 1.37% 0.430 -0.516 0.47% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 90412769.065op/s 91560106.531op/s ± 435111.568op/s 91653955.556op/s ± 317242.703op/s 91900736.011op/s 92179590.716op/s 92305544.050op/s 92363460.163op/s 0.77% -0.412 -0.537 0.47% 30767.034op/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 [204.809µs; 204.919µs] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4880004.784op/s; 4882624.849op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.663µs; 18.689µs] or [-0.068%; +0.068%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53509696.645op/s; 53581353.678op/s] or [-0.067%; +0.067%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.915µs; 10.929µs] or [-0.066%; +0.066%] None None None
normalization/normalize_name/normalize_name/good throughput [91499804.253op/s; 91620408.810op/s] or [-0.066%; +0.066%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.425µs 2.454µs ± 0.022µs 2.450µs ± 0.006µs 2.456µs 2.500µs 2.508µs 2.669µs 8.93% 5.229 42.592 0.91% 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.451µs; 2.457µs] or [-0.126%; +0.126%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.697ms 10.722ms ± 0.013ms 10.720ms ± 0.009ms 10.730ms 10.743ms 10.762ms 10.778ms 0.54% 0.950 1.678 0.12% 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.720ms; 10.724ms] or [-0.017%; +0.017%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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 533.603µs 534.899µs ± 0.594µs 534.895µs ± 0.294µs 535.129µs 535.540µs 535.836µs 540.774µs 1.10% 4.812 46.108 0.11% 0.042µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1849201.933op/s 1869513.039op/s ± 2064.739op/s 1869524.767op/s ± 1026.006op/s 1870586.087op/s 1871968.818op/s 1872620.667op/s 1874052.226op/s 0.24% -4.729 45.064 0.11% 145.999op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.249µs 380.924µs ± 0.313µs 380.896µs ± 0.235µs 381.145µs 381.443µs 381.646µs 381.975µs 0.28% 0.430 -0.030 0.08% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2617969.103op/s 2625200.709op/s ± 2154.833op/s 2625391.405op/s ± 1618.724op/s 2626757.915op/s 2628428.893op/s 2629267.535op/s 2629852.994op/s 0.17% -0.426 -0.037 0.08% 152.370op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.954µs 190.534µs ± 0.230µs 190.515µs ± 0.143µs 190.677µs 190.939µs 191.075µs 191.213µs 0.37% 0.294 0.100 0.12% 0.016µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5229771.345op/s 5248404.332op/s ± 6329.943op/s 5248922.760op/s ± 3949.501op/s 5252583.968op/s 5258742.290op/s 5261997.132op/s 5264444.522op/s 0.30% -0.287 0.096 0.12% 447.595op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.901µs 37.195µs ± 0.117µs 37.210µs ± 0.089µs 37.290µs 37.353µs 37.422µs 37.450µs 0.65% -0.364 -0.468 0.31% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26701955.133op/s 26885752.657op/s ± 84629.722op/s 26874253.943op/s ± 64325.466op/s 26942472.054op/s 27037714.459op/s 27090540.155op/s 27099592.757op/s 0.84% 0.378 -0.458 0.31% 5984.225op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.834µs 45.917µs ± 0.055µs 45.906µs ± 0.029µs 45.940µs 46.004µs 46.129µs 46.178µs 0.59% 1.781 5.106 0.12% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21655302.445op/s 21778600.550op/s ± 25874.085op/s 21783478.756op/s ± 13941.958op/s 21796167.689op/s 21807622.439op/s 21814807.956op/s 21817980.828op/s 0.16% -1.767 5.032 0.12% 1829.574op/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 [534.817µs; 534.982µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869226.886op/s; 1869799.192op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.880µs; 380.967µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2624902.069op/s; 2625499.348op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.503µs; 190.566µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5247527.062op/s; 5249281.601op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.179µs; 37.211µs] or [-0.044%; +0.044%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26874023.792op/s; 26897481.523op/s] or [-0.044%; +0.044%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.909µs; 45.924µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21775014.650op/s; 21782186.449op/s] or [-0.016%; +0.016%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.719µs 34.271µs ± 0.971µs 33.833µs ± 0.053µs 33.906µs 36.349µs 36.388µs 37.688µs 11.39% 1.741 1.213 2.83% 0.069µ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.136µs; 34.405µs] or [-0.393%; +0.393%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.192µs 3.167µs ± 1.427µs 2.997µs ± 0.029µs 3.021µs 3.433µs 13.738µs 15.156µs 405.70% 7.516 57.126 44.96% 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 [2.969µs; 3.365µs] or [-6.246%; +6.246%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz f3d75a3 1764903410 dsn/r-and-d-profiling-cxx
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.868ms 13.922ms ± 0.032ms 13.915ms ± 0.011ms 13.930ms 13.982ms 14.056ms 14.089ms 1.25% 2.586 9.002 0.23% 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 [13.918ms; 13.927ms] or [-0.032%; +0.032%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Dec 4, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.44 MB 7.44 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 86.25 MB 86.25 MB -0% (-176 B) 👌
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 58.31 MB 58.24 MB --.12% (-77.51 KB) 💪
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.43 MB 8.43 MB --.04% (-3.79 KB) 💪
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.04 MB 99.91 MB --.12% (-131.88 KB) 💪
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.54 MB 9.53 MB --.05% (-5.30 KB) 💪
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 19.69 MB 19.68 MB -0% (-512 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 139.73 MB 139.72 MB --.01% (-16.00 KB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 742.46 MB 742.30 MB --.02% (-166.12 KB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.37 MB 6.35 MB --.22% (-14.50 KB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.73 MB 19.69 MB --.19% (-40.00 KB) 💪
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.75 MB 38.68 MB --.19% (-76.90 KB) 💪
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 16.80 MB 16.80 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 142.34 MB 142.36 MB +.01% (+16.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 730.71 MB 730.78 MB +0% (+66.15 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.88 MB 4.88 MB --.09% (-5.00 KB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 20.97 MB 20.94 MB --.11% (-24.00 KB) 💪
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.51 MB 36.46 MB --.13% (-50.33 KB) 💪
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 74.59 MB 74.59 MB -0% (-3.77 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.86 MB 8.86 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 59.67 MB 59.58 MB --.14% (-89.40 KB) 💪
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.49 MB 9.47 MB --.12% (-12.26 KB) 💪
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.25 MB 94.14 MB --.11% (-108.93 KB) 💪
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.29 MB 10.28 MB --.10% (-11.47 KB) 💪

@danielsn danielsn force-pushed the dsn/r-and-d-profiling-cxx branch from 2e15f1a to 3342af7 Compare December 5, 2025 01:21
@danielsn danielsn force-pushed the dsn/r-and-d-profiling-cxx branch from 01042af to f3d75a3 Compare December 5, 2025 02:56
@danielsn danielsn marked this pull request as ready for review December 5, 2025 03:03
@danielsn danielsn requested review from a team as code owners December 5, 2025 03:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants