Skip to content

fix(profiling-ffi): Windows extern statics need __declspec(dllimport)#1468

Draft
morrisonlevi wants to merge 13 commits intomainfrom
levi/fix-windows-declspec-vars
Draft

fix(profiling-ffi): Windows extern statics need __declspec(dllimport)#1468
morrisonlevi wants to merge 13 commits intomainfrom
levi/fix-windows-declspec-vars

Conversation

@morrisonlevi
Copy link
Contributor

What does this PR do?

On the FFI headers on windows, this attends to replace "extern " with "extern __declspec(dllimport) ".

Motivation

These static variables result in a crash if you use them when they don't have __declspec(dllimport) .

Additional Notes

This went unfound because none of the examples run on Windows in CI. I am planning to look into running these as part of CI (this is in draft still).

How to test the change?

Build and note you don't get a crash anymore when using these static vars on Windows 😆

@morrisonlevi morrisonlevi changed the title fix(profiling): Windows extern statics need __declspec(dllimport) fix(profiling-ffi): Windows extern statics need __declspec(dllimport) Jan 22, 2026
@morrisonlevi morrisonlevi added bug Something isn't working profiling Relates to the profiling* modules. labels Jan 22, 2026
@pr-commenter
Copy link

pr-commenter bot commented Jan 22, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-02-18 02:01:46

Comparing candidate commit 3613641 in PR branch levi/fix-windows-declspec-vars with baseline commit 367c8b2 in branch main.

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

scenario:single_flag_killswitch/rules-based

  • 🟥 execution_time [+8.620ns; +9.518ns] or [+4.529%; +5.001%]

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 3613641 1771379113 levi/fix-windows-declspec-vars
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 493.208µs 494.018µs ± 0.437µs 493.999µs ± 0.247µs 494.244µs 494.584µs 495.139µs 497.185µs 0.64% 2.174 12.929 0.09% 0.031µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 2011325.326op/s 2024217.790op/s ± 1788.210op/s 2024293.889op/s ± 1011.515op/s 2025312.639op/s 2026607.339op/s 2027055.829op/s 2027541.676op/s 0.16% -2.147 12.694 0.09% 126.446op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 371.230µs 372.121µs ± 0.335µs 372.126µs ± 0.216µs 372.316µs 372.677µs 372.880µs 373.773µs 0.44% 0.775 2.241 0.09% 0.024µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2675418.465op/s 2687300.943op/s ± 2419.104op/s 2687264.981op/s ± 1560.170op/s 2689029.258op/s 2690589.690op/s 2691512.811op/s 2693746.865op/s 0.24% -0.766 2.201 0.09% 171.056op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.628µs 167.951µs ± 0.120µs 167.956µs ± 0.080µs 168.032µs 168.140µs 168.234µs 168.257µs 0.18% -0.120 -0.002 0.07% 0.008µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5943275.992op/s 5954104.630op/s ± 4258.041op/s 5953950.211op/s ± 2849.575op/s 5956853.334op/s 5961389.012op/s 5964481.792op/s 5965582.198op/s 0.20% 0.124 -0.001 0.07% 301.089op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 38.694µs 38.806µs ± 0.047µs 38.806µs ± 0.029µs 38.833µs 38.875µs 38.912µs 39.021µs 0.55% 0.430 1.496 0.12% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 25627312.884op/s 25769161.228op/s ± 31289.087op/s 25769242.763op/s ± 19299.489op/s 25790840.607op/s 25818117.194op/s 25842337.690op/s 25843584.106op/s 0.29% -0.418 1.459 0.12% 2212.473op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.532µs 45.727µs ± 0.119µs 45.726µs ± 0.052µs 45.768µs 45.814µs 45.842µs 47.111µs 3.03% 7.862 90.558 0.26% 0.008µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21226642.346op/s 21869242.267op/s ± 55659.712op/s 21869218.638op/s ± 24707.378op/s 21896299.495op/s 21931184.455op/s 21947198.374op/s 21962445.698op/s 0.43% -7.625 87.014 0.25% 3935.736op/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 [493.958µs; 494.079µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2023969.961op/s; 2024465.618op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [372.074µs; 372.167µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2686965.678op/s; 2687636.207op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [167.935µs; 167.968µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5953514.506op/s; 5954694.753op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [38.800µs; 38.813µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [25764824.862op/s; 25773497.595op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.710µs; 45.743µs] or [-0.036%; +0.036%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21861528.366op/s; 21876956.168op/s] or [-0.035%; +0.035%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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 9.519ms 9.830ms ± 0.088ms 9.845ms ± 0.037ms 9.875ms 9.929ms 9.991ms 10.179ms 3.39% -1.102 3.536 0.89% 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 [9.818ms; 9.842ms] or [-0.124%; +0.124%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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.932µs 35.622µs ± 1.104µs 35.145µs ± 0.125µs 35.252µs 37.976µs 38.010µs 38.872µs 10.60% 1.675 0.920 3.09% 0.078µ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 [35.469µs; 35.775µs] or [-0.430%; +0.430%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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 91.186µs 91.447µs ± 0.127µs 91.440µs ± 0.051µs 91.487µs 91.559µs 91.897µs 92.616µs 1.29% 5.324 42.093 0.14% 0.009µ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.430µs; 91.465µs] or [-0.019%; +0.019%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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 743.662µs 745.118µs ± 0.695µs 745.036µs ± 0.383µs 745.464µs 746.191µs 746.706µs 749.903µs 0.65% 1.829 10.108 0.09% 0.049µ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 [745.021µs; 745.214µs] or [-0.013%; +0.013%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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 196.746ns 199.412ns ± 2.160ns 199.165ns ± 1.440ns 200.513ns 203.478ns 206.278ns 207.581ns 4.23% 1.082 1.296 1.08% 0.153ns 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 [199.113ns; 199.712ns] or [-0.150%; +0.150%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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.937µs 5.009µs ± 0.042µs 5.009µs ± 0.045µs 5.040µs 5.076µs 5.079µs 5.087µs 1.57% 0.178 -1.305 0.84% 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.003µs; 5.015µs] or [-0.117%; +0.117%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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.003µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.920µs 3.931µs 0.46% -0.521 12.785 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 254360515.761op/s 255525272.771op/s ± 211557.565op/s 255535008.329op/s ± 129367.940op/s 255654312.943op/s 255773533.185op/s 255854072.125op/s 256946997.014op/s 0.55% 0.557 12.894 0.08% 14959.379op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 78.942µs 80.649µs ± 0.677µs 80.639µs ± 0.452µs 81.065µs 81.809µs 82.147µs 83.094µs 3.04% 0.278 0.370 0.84% 0.048µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12034605.313op/s 12400305.705op/s ± 103824.181op/s 12400890.445op/s ± 69506.200op/s 12471467.121op/s 12584649.310op/s 12614945.188op/s 12667481.472op/s 2.15% -0.221 0.301 0.84% 7341.478op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.817µs 72.255µs ± 0.303µs 72.200µs ± 0.236µs 72.455µs 72.785µs 73.102µs 73.237µs 1.44% 0.686 -0.002 0.42% 0.021µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13654226.651op/s 13840029.449op/s ± 57854.711op/s 13850435.524op/s ± 45283.313op/s 13894069.002op/s 13913607.508op/s 13918519.438op/s 13924194.681op/s 0.53% -0.667 -0.048 0.42% 4090.946op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.893µs 3.912µs ± 0.002µs 3.912µs ± 0.001µs 3.914µs 3.916µs 3.917µs 3.919µs 0.16% -2.859 25.762 0.06% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255186139.120op/s 255605813.813op/s ± 144445.182op/s 255604779.815op/s ± 82958.149op/s 255686185.425op/s 255773153.310op/s 255841846.542op/s 256848798.860op/s 0.49% 2.892 26.098 0.06% 10213.817op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 68.513µs 69.075µs ± 0.307µs 69.006µs ± 0.200µs 69.272µs 69.661µs 69.898µs 70.125µs 1.62% 0.817 0.351 0.44% 0.022µs 1 200
credit_card/is_card_number/378282246310005 throughput 14260266.384op/s 14477322.475op/s ± 64201.607op/s 14491455.115op/s ± 41799.880op/s 14524232.231op/s 14560885.177op/s 14571862.047op/s 14595859.769op/s 0.72% -0.794 0.297 0.44% 4539.739op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.509µs 45.720µs ± 0.080µs 45.720µs ± 0.055µs 45.776µs 45.843µs 45.897µs 45.922µs 0.44% -0.024 -0.256 0.18% 0.006µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21776111.347op/s 21872277.657op/s ± 38512.504op/s 21872085.751op/s ± 26259.418op/s 21898218.034op/s 21938087.701op/s 21959926.095op/s 21973900.425op/s 0.47% 0.033 -0.254 0.18% 2723.245op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.429µs 6.436µs ± 0.005µs 6.435µs ± 0.002µs 6.439µs 6.444µs 6.449µs 6.459µs 0.37% 1.396 3.534 0.07% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154831165.780op/s 155379538.186op/s ± 108672.805op/s 155407304.144op/s ± 59865.716op/s 155453164.983op/s 155523588.375op/s 155544360.879op/s 155555586.698op/s 0.10% -1.388 3.495 0.07% 7684.328op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.914µs 3.918µs 3.919µs 3.923µs 0.25% -1.004 9.979 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254938892.464op/s 255569475.917op/s ± 187450.463op/s 255571184.349op/s ± 111094.211op/s 255689325.068op/s 255791663.418op/s 255864462.020op/s 256844436.982op/s 0.50% 1.028 10.137 0.07% 13254.749op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 61.179µs 62.837µs ± 0.629µs 62.846µs ± 0.424µs 63.301µs 63.867µs 64.037µs 64.093µs 1.98% -0.278 -0.256 1.00% 0.044µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15602372.267op/s 15915729.102op/s ± 159693.202op/s 15912023.531op/s ± 107226.045op/s 16016868.689op/s 16192975.129op/s 16313945.750op/s 16345610.772op/s 2.72% 0.328 -0.204 1.00% 11292.015op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.843µs 54.022µs ± 0.064µs 54.020µs ± 0.035µs 54.056µs 54.128µs 54.209µs 54.252µs 0.43% 0.383 0.794 0.12% 0.005µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18432598.824op/s 18511036.096op/s ± 22031.286op/s 18511497.457op/s ± 12003.660op/s 18523352.682op/s 18544128.305op/s 18553784.881op/s 18572642.498op/s 0.33% -0.374 0.780 0.12% 1557.847op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.895µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.914µs 3.919µs 3.921µs 3.936µs 0.60% 1.432 14.211 0.09% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254047263.128op/s 255556604.095op/s ± 218090.594op/s 255579119.193op/s ± 105581.762op/s 255681843.758op/s 255789988.029op/s 255865987.297op/s 256709137.499op/s 0.44% -1.396 14.083 0.09% 15421.334op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.176µs 50.373µs ± 0.101µs 50.365µs ± 0.049µs 50.412µs 50.526µs 50.803µs 50.856µs 0.98% 1.577 5.375 0.20% 0.007µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19663223.330op/s 19852001.418op/s ± 39704.699op/s 19855059.067op/s ± 19495.678op/s 19874676.208op/s 19906834.216op/s 19922126.032op/s 19929982.666op/s 0.38% -1.548 5.231 0.20% 2807.546op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.466µs 45.733µs ± 0.088µs 45.731µs ± 0.058µs 45.786µs 45.880µs 45.942µs 45.968µs 0.52% 0.096 -0.018 0.19% 0.006µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21754116.892op/s 21866067.974op/s ± 41918.522op/s 21866925.188op/s ± 27690.674op/s 21895741.834op/s 21933161.406op/s 21949051.723op/s 21994682.710op/s 0.58% -0.084 -0.019 0.19% 2964.087op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.428µs 6.438µs ± 0.012µs 6.435µs ± 0.002µs 6.438µs 6.444µs 6.493µs 6.501µs 1.01% 4.163 17.007 0.18% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 153831479.158op/s 155328106.087op/s ± 280160.737op/s 155391332.455op/s ± 49753.748op/s 155430054.591op/s 155494299.748op/s 155534953.538op/s 155561833.966op/s 0.11% -4.154 16.949 0.18% 19810.356op/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.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255495952.927op/s; 255554592.615op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.555µs; 80.743µs] or [-0.116%; +0.116%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12385916.672op/s; 12414694.738op/s] or [-0.116%; +0.116%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.213µs; 72.297µs] or [-0.058%; +0.058%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13832011.342op/s; 13848047.555op/s] or [-0.058%; +0.058%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/37828224631 throughput [255585795.100op/s; 255625832.526op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.032µs; 69.118µs] or [-0.062%; +0.062%] None None None
credit_card/is_card_number/378282246310005 throughput [14468424.750op/s; 14486220.200op/s] or [-0.061%; +0.061%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.709µs; 45.731µs] or [-0.024%; +0.024%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21866940.194op/s; 21877615.119op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.435µs; 6.436µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/x371413321323331 throughput [155364477.180op/s; 155394599.192op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255543497.086op/s; 255595454.748op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [62.750µs; 62.924µs] or [-0.139%; +0.139%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15893597.160op/s; 15937861.044op/s] or [-0.139%; +0.139%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [54.013µs; 54.031µs] or [-0.017%; +0.017%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18507982.772op/s; 18514089.421op/s] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.913µs; 3.913µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255526378.836op/s; 255586829.354op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.359µs; 50.387µs] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19846498.729op/s; 19857504.108op/s] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.721µs; 45.745µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21860258.470op/s; 21871877.478op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.436µs; 6.440µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155289278.503op/s; 155366933.671op/s] or [-0.025%; +0.025%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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.821ms 14.862ms ± 0.028ms 14.857ms ± 0.010ms 14.867ms 14.890ms 14.970ms 15.063ms 1.39% 3.547 17.592 0.19% 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.858ms; 14.866ms] or [-0.026%; +0.026%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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.723ms 10.747ms ± 0.017ms 10.745ms ± 0.007ms 10.753ms 10.768ms 10.801ms 10.886ms 1.31% 3.634 24.312 0.15% 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.745ms; 10.750ms] or [-0.021%; +0.021%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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 18.059µs 25.174µs ± 9.067µs 18.269µs ± 0.122µs 32.947µs 41.316µs 47.875µs 67.486µs 269.40% 1.080 1.093 35.93% 0.641µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [23.918µs; 26.431µs] or [-4.992%; +4.992%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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 160.630µs 161.179µs ± 0.301µs 161.151µs ± 0.168µs 161.327µs 161.630µs 162.232µs 162.593µs 0.89% 1.182 3.082 0.19% 0.021µ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 [161.137µs; 161.221µs] or [-0.026%; +0.026%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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.305µs 2.379µs ± 0.018µs 2.380µs ± 0.004µs 2.386µs 2.401µs 2.409µs 2.411µs 1.30% -2.147 5.934 0.76% 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.376µs; 2.381µs] or [-0.105%; +0.105%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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.454µs 146.304µs ± 1.703µs 146.039µs ± 0.480µs 146.521µs 147.769µs 153.902µs 161.452µs 10.55% 5.313 37.945 1.16% 0.120µ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.068µs; 146.540µs] or [-0.161%; +0.161%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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.138ms 4.142ms ± 0.006ms 4.141ms ± 0.002ms 4.143ms 4.147ms 4.149ms 4.222ms 1.95% 10.765 135.523 0.15% 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.141ms; 4.143ms] or [-0.021%; +0.021%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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.204µs 3.167µs ± 1.434µs 2.994µs ± 0.023µs 3.015µs 3.343µs 13.843µs 15.238µs 408.95% 7.512 57.036 45.17% 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.366µs] or [-6.276%; +6.276%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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 242.162ns 252.902ns ± 14.762ns 245.586ns ± 2.426ns 256.452ns 283.132ns 296.822ns 300.033ns 22.17% 1.669 1.644 5.82% 1.044ns 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 [250.856ns; 254.948ns] or [-0.809%; +0.809%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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 48.393ms 48.804ms ± 1.050ms 48.654ms ± 0.084ms 48.740ms 49.061ms 51.204ms 59.719ms 22.74% 9.043 85.003 2.15% 0.074ms 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 [48.659ms; 48.950ms] or [-0.298%; +0.298%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3613641 1771379113 levi/fix-windows-declspec-vars
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 186.080µs 186.507µs ± 0.325µs 186.448µs ± 0.133µs 186.594µs 186.923µs 187.730µs 189.194µs 1.47% 3.956 24.873 0.17% 0.023µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5285593.151op/s 5361732.206op/s ± 9286.663op/s 5363414.221op/s ± 3826.116op/s 5367037.434op/s 5369787.460op/s 5372712.891op/s 5374044.948op/s 0.20% -3.898 24.222 0.17% 656.666op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.557µs 17.706µs ± 0.070µs 17.701µs ± 0.046µs 17.749µs 17.822µs 17.855µs 17.913µs 1.20% 0.098 -0.344 0.39% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 55825718.674op/s 56480082.387op/s ± 223174.086op/s 56494492.977op/s ± 147254.848op/s 56631366.523op/s 56877041.305op/s 56938772.733op/s 56956030.423op/s 0.82% -0.079 -0.355 0.39% 15780.791op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 9.852µs 9.893µs ± 0.024µs 9.889µs ± 0.016µs 9.907µs 9.934µs 9.957µs 10.023µs 1.36% 1.340 4.096 0.24% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 99771357.306op/s 101080533.303op/s ± 245274.129op/s 101127030.107op/s ± 160273.412op/s 101260210.215op/s 101394944.795op/s 101454540.686op/s 101503325.772op/s 0.37% -1.309 3.917 0.24% 17343.500op/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.462µs; 186.553µs] or [-0.024%; +0.024%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5360445.163op/s; 5363019.248op/s] or [-0.024%; +0.024%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.696µs; 17.715µs] or [-0.055%; +0.055%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [56449152.605op/s; 56511012.169op/s] or [-0.055%; +0.055%] None None None
normalization/normalize_name/normalize_name/good execution_time [9.890µs; 9.896µs] or [-0.034%; +0.034%] None None None
normalization/normalize_name/normalize_name/good throughput [101046540.668op/s; 101114525.938op/s] or [-0.034%; +0.034%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Jan 22, 2026

Codecov Report

❌ Patch coverage is 0% with 30 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.81%. Comparing base (367c8b2) to head (3613641).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1468      +/-   ##
==========================================
- Coverage   70.85%   70.81%   -0.05%     
==========================================
  Files         424      424              
  Lines       61963    61990      +27     
==========================================
- Hits        43903    43896       -7     
- Misses      18060    18094      +34     
Components Coverage Δ
libdd-crashtracker 62.43% <ø> (-0.02%) ⬇️
libdd-crashtracker-ffi 15.80% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 85.96% <ø> (ø)
libdd-data-pipeline-ffi 75.63% <ø> (ø)
libdd-common 79.79% <ø> (ø)
libdd-common-ffi 73.75% <ø> (ø)
libdd-telemetry 62.52% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.71% <ø> (-0.12%) ⬇️
libdd-profiling 81.23% <ø> (ø)
libdd-profiling-ffi 63.66% <ø> (ø)
datadog-sidecar 32.76% <ø> (ø)
datdog-sidecar-ffi 9.50% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.18% <ø> (ø)
libdd-trace-protobuf 68.00% <ø> (ø)
libdd-trace-utils 88.72% <ø> (ø)
datadog-tracer-flare 88.95% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions bot removed the profiling Relates to the profiling* modules. label Jan 22, 2026
@dd-octo-sts
Copy link

dd-octo-sts bot commented Jan 26, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.60 MB 91.60 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.38 MB 8.38 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 106.31 MB 106.31 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.76 MB 10.76 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.01 MB 25.01 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 166.61 MB 166.62 MB +0% (+8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 838.60 MB 838.60 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.57 MB 9.57 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 23.02 MB 23.02 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.42 MB 48.42 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.09 MB 21.09 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 170.37 MB 170.38 MB +0% (+16.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 824.57 MB 824.57 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.24 MB 7.24 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 24.62 MB 24.62 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 44.15 MB 44.15 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 80.15 MB 80.15 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.87 MB 9.87 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.25 MB 100.25 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.44 MB 11.44 MB 0% (0 B) 👌

@gleocadie gleocadie force-pushed the levi/fix-windows-declspec-vars branch from 0802540 to d844b01 Compare January 29, 2026 09:52
@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/levi/fix-windows-declspec-vars

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 27 27 No change (0%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 59 59 No change (0%)
libdd-common 10 10 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-crashtracker 12 12 No change (0%)
libdd-data-pipeline 6 6 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 9 9 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 220 220 No change (0%)

About This Report

This 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working ci-build common

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments