Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repurpose builder to support crosscompilation. #690

Merged
merged 4 commits into from
Nov 11, 2024

Conversation

hoolioh
Copy link
Contributor

@hoolioh hoolioh commented Oct 23, 2024

What does this PR do?

This PR adds support for crosscompilation in the builder crate. Relying solely on the cargo build script to carry all the work had the limitation that it would only work for the target in which the build script is executed. With this solution the build logic has been moved to a external binary which will be able to spawn different builds for the selected target.

Motivation

Windows CI compiles artifacts for x86 and x86_64 targets so the previous approach wasn't suitable for that environment.

Additional Notes

Despite the builder fully work with Linux and MacOS systems there is still some rough edges around the linking phase during the windows build, for that reason the windows script was not been fully ported to use the new method. This task will be tackled in another PR just to not overcomplicate this one.

@codecov-commenter
Copy link

codecov-commenter commented Oct 23, 2024

Codecov Report

Attention: Patch coverage is 45.80645% with 84 lines in your changes missing coverage. Please review.

Project coverage is 71.33%. Comparing base (1fc6b11) to head (c94e23f).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #690      +/-   ##
==========================================
- Coverage   71.61%   71.33%   -0.28%     
==========================================
  Files         281      287       +6     
  Lines       42500    42739     +239     
==========================================
+ Hits        30437    30489      +52     
- Misses      12063    12250     +187     
Components Coverage Δ
crashtracker 44.95% <ø> (ø)
crashtracker-ffi 9.20% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 91.88% <100.00%> (-0.33%) ⬇️
data-pipeline-ffi 0.00% <ø> (ø)
ddcommon 83.46% <ø> (ø)
ddcommon-ffi 69.12% <ø> (ø)
ddtelemetry 59.10% <ø> (ø)
ddtelemetry-ffi 22.13% <ø> (ø)
dogstatsd 89.45% <ø> (ø)
dogstatsd-client 79.77% <ø> (ø)
ipc 82.75% <ø> (-0.11%) ⬇️
profiling 84.30% <ø> (ø)
profiling-ffi 77.46% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 37.42% <0.00%> (ø)
sidecar-ffi 0.00% <ø> (ø)
spawn-worker 50.36% <ø> (ø)
tinybytes 94.77% <ø> (ø)
trace-mini-agent 72.18% <16.66%> (-0.27%) ⬇️
trace-normalization 98.25% <ø> (ø)
trace-obfuscation 95.77% <ø> (ø)
trace-protobuf 77.67% <ø> (ø)
trace-utils 93.14% <74.19%> (-0.46%) ⬇️

@pr-commenter
Copy link

pr-commenter bot commented Oct 23, 2024

Benchmarks

Comparison

Benchmark execution time: 2024-11-11 13:29:18

Comparing candidate commit c94e23f in PR branch julio/remove-sed-from-builder with baseline commit a22637c in branch main.

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

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

  • 🟥 execution_time [+4.848µs; +5.126µs] or [+5.474%; +5.788%]
  • 🟥 throughput [-620363.985op/s; -585577.611op/s] or [-5.494%; -5.186%]

scenario:credit_card/is_card_number/ 378282246310005

  • 🟥 execution_time [+3.731µs; +4.047µs] or [+4.577%; +4.964%]
  • 🟥 throughput [-584078.947op/s; -536982.772op/s] or [-4.760%; -4.377%]

scenario:credit_card/is_card_number/378282246310005

  • 🟥 execution_time [+4.645µs; +4.810µs] or [+6.007%; +6.219%]
  • 🟥 throughput [-758806.872op/s; -731913.236op/s] or [-5.868%; -5.660%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟩 execution_time [-394.685ns; -384.066ns] or [-5.462%; -5.315%]
  • 🟩 throughput [+7774009.607op/s; +7993002.231op/s] or [+5.618%; +5.776%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟩 execution_time [-396.434ns; -385.314ns] or [-5.485%; -5.331%]
  • 🟩 throughput [+7798733.343op/s; +8022859.707op/s] or [+5.637%; +5.799%]

scenario:redis/obfuscate_redis_string

  • 🟩 execution_time [-2.084µs; -1.666µs] or [-5.329%; -4.260%]

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 c94e23f 1731331110 julio/remove-sed-from-builder
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 1.120µs 1.179µs ± 0.024µs 1.179µs ± 0.017µs 1.200µs 1.203µs 1.204µs 1.206µs 2.23% -1.058 0.355 2.00% 0.002µs 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 [1.176µs; 1.182µs] or [-0.278%; +0.278%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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 271.886µs 273.809µs ± 0.949µs 273.699µs ± 0.643µs 274.368µs 275.277µs 276.222µs 277.215µs 1.28% 0.559 0.352 0.35% 0.067µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 3607309.708op/s 3652222.017op/s ± 12633.834op/s 3653650.719op/s ± 8590.219op/s 3660551.900op/s 3672091.731op/s 3675191.564op/s 3678006.246op/s 0.67% -0.538 0.310 0.35% 893.347op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 25.773µs 25.894µs ± 0.099µs 25.867µs ± 0.038µs 25.914µs 26.110µs 26.290µs 26.323µs 1.76% 2.004 4.363 0.38% 0.007µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 37990292.238op/s 38619370.431op/s ± 146306.136op/s 38659777.519op/s ± 57059.662op/s 38713303.655op/s 38759474.405op/s 38788347.445op/s 38800674.769op/s 0.36% -1.977 4.228 0.38% 10345.406op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 15.445µs 15.507µs ± 0.033µs 15.507µs ± 0.024µs 15.529µs 15.568µs 15.582µs 15.600µs 0.60% 0.288 -0.495 0.21% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 64102187.434op/s 64489262.541op/s ± 138471.564op/s 64487941.564op/s ± 98652.505op/s 64598161.779op/s 64696735.539op/s 64721924.603op/s 64744649.799op/s 0.40% -0.279 -0.505 0.21% 9791.418op/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 [273.678µs; 273.941µs] or [-0.048%; +0.048%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [3650471.089op/s; 3653972.944op/s] or [-0.048%; +0.048%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [25.880µs; 25.908µs] or [-0.053%; +0.053%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [38599093.808op/s; 38639647.054op/s] or [-0.053%; +0.053%] None None None
normalization/normalize_name/normalize_name/good execution_time [15.502µs; 15.511µs] or [-0.030%; +0.030%] None None None
normalization/normalize_name/normalize_name/good throughput [64470071.714op/s; 64508453.368op/s] or [-0.030%; +0.030%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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 9.011ms 9.050ms ± 0.025ms 9.046ms ± 0.010ms 9.057ms 9.073ms 9.090ms 9.265ms 2.41% 5.452 42.528 0.27% 0.002ms 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 [9.046ms; 9.053ms] or [-0.038%; +0.038%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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.577µs 27.208µs ± 11.561µs 18.447µs ± 0.561µs 36.054µs 42.655µs 45.427µs 95.913µs 419.95% 1.993 8.616 42.38% 0.817µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [25.605µs; 28.810µs] or [-5.889%; +5.889%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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 36.657µs 37.235µs ± 1.039µs 36.743µs ± 0.053µs 36.933µs 39.448µs 39.463µs 40.608µs 10.52% 1.705 1.045 2.78% 0.073µ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 [37.091µs; 37.379µs] or [-0.387%; +0.387%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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.361µs 3.285µs ± 1.408µs 3.138µs ± 0.028µs 3.160µs 3.188µs 14.052µs 15.079µs 380.46% 7.576 57.584 42.74% 0.100µ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.090µs; 3.480µs] or [-5.939%; +5.939%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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 506.630µs 507.692µs ± 0.485µs 507.609µs ± 0.211µs 507.858µs 508.416µs 509.291µs 511.510µs 0.77% 2.993 18.949 0.10% 0.034µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1954996.667op/s 1969700.201op/s ± 1877.757op/s 1970019.890op/s ± 818.778op/s 1970768.404op/s 1971731.026op/s 1972905.547op/s 1973826.824op/s 0.19% -2.959 18.611 0.10% 132.777op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 467.634µs 468.345µs ± 0.278µs 468.362µs ± 0.184µs 468.530µs 468.805µs 468.987µs 469.219µs 0.18% 0.058 0.101 0.06% 0.020µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2131202.191op/s 2135178.779op/s ± 1268.985op/s 2135100.507op/s ± 837.264op/s 2136035.801op/s 2137259.544op/s 2138133.265op/s 2138422.810op/s 0.16% -0.054 0.099 0.06% 89.731op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 179.723µs 180.165µs ± 0.192µs 180.149µs ± 0.130µs 180.296µs 180.486µs 180.554µs 180.655µs 0.28% 0.092 -0.490 0.11% 0.014µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5535403.835op/s 5550468.330op/s ± 5921.513op/s 5550952.327op/s ± 3997.803op/s 5554305.085op/s 5560222.640op/s 5562086.327op/s 5564120.380op/s 0.24% -0.087 -0.492 0.11% 418.714op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 44.820µs 44.990µs ± 0.069µs 44.989µs ± 0.046µs 45.030µs 45.108µs 45.144µs 45.167µs 0.40% 0.074 -0.222 0.15% 0.005µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 22140134.490op/s 22227038.604op/s ± 34124.828op/s 22227892.177op/s ± 22777.475op/s 22251083.754op/s 22283565.953op/s 22303270.067op/s 22311369.241op/s 0.38% -0.066 -0.224 0.15% 2412.990op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 48.970µs 49.109µs ± 0.057µs 49.104µs ± 0.042µs 49.156µs 49.196µs 49.224µs 49.241µs 0.28% 0.057 -0.658 0.12% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20308126.765op/s 20362839.302op/s ± 23616.752op/s 20364739.346op/s ± 17414.590op/s 20380293.996op/s 20400527.690op/s 20412804.242op/s 20420750.052op/s 0.28% -0.052 -0.657 0.12% 1669.957op/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 [507.625µs; 507.759µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1969439.962op/s; 1969960.440op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [468.306µs; 468.384µs] or [-0.008%; +0.008%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2135002.910op/s; 2135354.648op/s] or [-0.008%; +0.008%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [180.139µs; 180.192µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5549647.666op/s; 5551288.995op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [44.981µs; 45.000µs] or [-0.021%; +0.021%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [22222309.231op/s; 22231767.977op/s] or [-0.021%; +0.021%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [49.101µs; 49.117µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [20359566.248op/s; 20366112.357op/s] or [-0.016%; +0.016%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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 293.807ns 305.924ns ± 14.087ns 300.768ns ± 5.240ns 308.233ns 340.484ns 350.219ns 350.789ns 16.63% 1.818 2.558 4.59% 0.996ns 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 [303.972ns; 307.876ns] or [-0.638%; +0.638%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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 4.600µs 4.613µs ± 0.008µs 4.613µs ± 0.006µs 4.618µs 4.625µs 4.629µs 4.631µs 0.40% 0.145 -0.737 0.17% 0.001µs 1 200
credit_card/is_card_number/ throughput 215924818.741op/s 216793423.916op/s ± 365612.692op/s 216784421.437op/s ± 263831.870op/s 217052387.058op/s 217378045.843op/s 217398059.171op/s 217405750.999op/s 0.29% -0.139 -0.741 0.17% 25852.721op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 93.116µs 93.555µs ± 0.371µs 93.466µs ± 0.104µs 93.603µs 94.148µs 94.400µs 97.283µs 4.08% 5.796 50.546 0.40% 0.026µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 10279317.888op/s 10689092.014op/s ± 41465.483op/s 10699024.251op/s ± 11896.070op/s 10710264.986op/s 10717011.058op/s 10729023.283op/s 10739262.745op/s 0.38% -5.578 47.372 0.39% 2932.052op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 85.227µs 85.406µs ± 0.359µs 85.319µs ± 0.025µs 85.354µs 86.066µs 86.230µs 89.391µs 4.77% 7.622 75.697 0.42% 0.025µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 11186833.117op/s 11709001.494op/s ± 47736.140op/s 11720668.226op/s ± 3433.793op/s 11723841.898op/s 11727534.610op/s 11730957.045op/s 11733339.110op/s 0.11% -7.382 71.623 0.41% 3375.455op/s 1 200
credit_card/is_card_number/37828224631 execution_time 4.592µs 4.610µs ± 0.008µs 4.611µs ± 0.007µs 4.615µs 4.625µs 4.630µs 4.631µs 0.43% 0.428 -0.522 0.18% 0.001µs 1 200
credit_card/is_card_number/37828224631 throughput 215958851.326op/s 216898133.279op/s ± 383537.568op/s 216880231.367op/s ± 306326.568op/s 217262665.729op/s 217399464.411op/s 217419303.617op/s 217754293.645op/s 0.40% -0.422 -0.531 0.18% 27120.202op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 81.606µs 82.065µs ± 0.272µs 82.008µs ± 0.154µs 82.186µs 82.528µs 82.975µs 83.346µs 1.63% 1.584 3.774 0.33% 0.019µs 1 200
credit_card/is_card_number/378282246310005 throughput 11998116.099op/s 12185594.380op/s ± 40194.046op/s 12193927.557op/s ± 22839.973op/s 12214607.452op/s 12233455.565op/s 12241030.936op/s 12254061.242op/s 0.49% -1.552 3.632 0.33% 2842.148op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 58.862µs 58.894µs ± 0.021µs 58.892µs ± 0.016µs 58.908µs 58.938µs 58.955µs 58.979µs 0.15% 0.904 0.939 0.04% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 16955277.066op/s 16979715.617op/s ± 6158.719op/s 16980374.084op/s ± 4569.698op/s 16984815.575op/s 16987379.396op/s 16988830.574op/s 16988980.947op/s 0.05% -0.902 0.931 0.04% 435.487op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.818µs 6.837µs ± 0.034µs 6.824µs ± 0.003µs 6.836µs 6.901µs 6.982µs 7.038µs 3.14% 3.396 13.394 0.50% 0.002µs 1 200
credit_card/is_card_number/x371413321323331 throughput 142083955.680op/s 146263892.428op/s ± 717127.211op/s 146545745.378op/s ± 66616.558op/s 146595297.891op/s 146639090.226op/s 146650535.670op/s 146664986.674op/s 0.08% -3.340 12.922 0.49% 50708.551op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 4.593µs 4.614µs ± 0.008µs 4.614µs ± 0.005µs 4.619µs 4.628µs 4.630µs 4.632µs 0.39% 0.089 -0.489 0.17% 0.001µs 1 200
credit_card/is_card_number_no_luhn/ throughput 215901633.304op/s 216748347.628op/s ± 364649.807op/s 216743928.440op/s ± 247380.824op/s 216984089.305op/s 217311063.469op/s 217400274.557op/s 217727016.317op/s 0.45% -0.081 -0.490 0.17% 25784.635op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 73.420µs 73.728µs ± 0.137µs 73.757µs ± 0.078µs 73.804µs 73.896µs 73.953µs 74.708µs 1.29% 1.430 11.678 0.19% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 13385395.962op/s 13563407.750op/s ± 25204.180op/s 13558075.044op/s ± 14265.155op/s 13578606.591op/s 13606349.490op/s 13618087.067op/s 13620322.884op/s 0.46% -1.366 11.172 0.19% 1782.205op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 65.275µs 65.499µs ± 0.110µs 65.485µs ± 0.078µs 65.568µs 65.689µs 65.725µs 65.748µs 0.40% 0.332 -0.645 0.17% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 15209573.005op/s 15267435.392op/s ± 25531.128op/s 15270710.844op/s ± 18294.357op/s 15287864.876op/s 15303324.346op/s 15317335.625op/s 15319836.124op/s 0.32% -0.326 -0.647 0.17% 1805.323op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 4.593µs 4.614µs ± 0.009µs 4.614µs ± 0.006µs 4.619µs 4.629µs 4.631µs 4.632µs 0.40% 0.153 -0.714 0.19% 0.001µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 215895938.755op/s 216754823.202op/s ± 409661.130op/s 216748931.071op/s ± 281232.784op/s 217053373.747op/s 217371389.586op/s 217394323.353op/s 217737016.087op/s 0.46% -0.146 -0.716 0.19% 28967.416op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 62.202µs 62.530µs ± 0.119µs 62.512µs ± 0.048µs 62.597µs 62.739µs 62.860µs 62.881µs 0.59% 0.193 0.528 0.19% 0.008µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 15902988.589op/s 15992430.160op/s ± 30445.313op/s 15996900.601op/s ± 12234.689op/s 16005332.177op/s 16045293.054op/s 16061876.857op/s 16076563.024op/s 0.50% -0.179 0.525 0.19% 2152.809op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 58.860µs 58.893µs ± 0.020µs 58.896µs ± 0.017µs 58.905µs 58.925µs 58.945µs 58.995µs 0.17% 0.957 2.322 0.03% 0.001µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 16950661.709op/s 16979858.394op/s ± 5798.832op/s 16979031.745op/s ± 4844.895op/s 16985179.582op/s 16987074.620op/s 16987980.206op/s 16989548.030op/s 0.06% -0.954 2.304 0.03% 410.039op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.817µs 6.837µs ± 0.030µs 6.824µs ± 0.003µs 6.832µs 6.904µs 6.950µs 6.992µs 2.47% 2.416 6.142 0.44% 0.002µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 143015967.249op/s 146266198.589op/s ± 641703.905op/s 146550212.508op/s ± 68468.324op/s 146606866.497op/s 146635945.150op/s 146649218.718op/s 146684136.416op/s 0.09% -2.386 5.920 0.44% 45375.318op/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 [4.612µs; 4.614µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/ throughput [216742753.513op/s; 216844094.319op/s] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [93.503µs; 93.606µs] or [-0.055%; +0.055%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [10683345.297op/s; 10694838.731op/s] or [-0.054%; +0.054%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [85.356µs; 85.456µs] or [-0.058%; +0.058%] None None None
credit_card/is_card_number/ 378282246310005 throughput [11702385.724op/s; 11715617.264op/s] or [-0.057%; +0.057%] None None None
credit_card/is_card_number/37828224631 execution_time [4.609µs; 4.612µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/37828224631 throughput [216844978.661op/s; 216951287.897op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/378282246310005 execution_time [82.027µs; 82.103µs] or [-0.046%; +0.046%] None None None
credit_card/is_card_number/378282246310005 throughput [12180023.872op/s; 12191164.888op/s] or [-0.046%; +0.046%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [58.891µs; 58.897µs] or [-0.005%; +0.005%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [16978862.078op/s; 16980569.157op/s] or [-0.005%; +0.005%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.832µs; 6.842µs] or [-0.069%; +0.069%] None None None
credit_card/is_card_number/x371413321323331 throughput [146164505.493op/s; 146363279.362op/s] or [-0.068%; +0.068%] None None None
credit_card/is_card_number_no_luhn/ execution_time [4.613µs; 4.615µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number_no_luhn/ throughput [216697810.672op/s; 216798884.584op/s] or [-0.023%; +0.023%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [73.709µs; 73.747µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [13559914.693op/s; 13566900.807op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [65.484µs; 65.514µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [15263897.023op/s; 15270973.760op/s] or [-0.023%; +0.023%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [4.612µs; 4.615µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [216698048.110op/s; 216811598.295op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [62.513µs; 62.546µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [15988210.732op/s; 15996649.588op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [58.891µs; 58.896µs] or [-0.005%; +0.005%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [16979054.732op/s; 16980662.056op/s] or [-0.005%; +0.005%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.833µs; 6.841µs] or [-0.061%; +0.061%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [146177264.600op/s; 146355132.579op/s] or [-0.061%; +0.061%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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 140.936µs 141.743µs ± 0.446µs 141.709µs ± 0.194µs 141.865µs 142.335µs 142.726µs 145.898µs 2.96% 4.616 38.030 0.31% 0.032µ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 [141.681µs; 141.804µs] or [-0.044%; +0.044%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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 69.744µs 69.911µs ± 0.233µs 69.884µs ± 0.035µs 69.921µs 70.039µs 70.220µs 73.006µs 4.47% 11.825 153.944 0.33% 0.016µ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 [69.878µs; 69.943µs] or [-0.046%; +0.046%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c94e23f 1731331110 julio/remove-sed-from-builder
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.648µs 2.698µs ± 0.019µs 2.694µs ± 0.007µs 2.706µs 2.744µs 2.748µs 2.748µs 2.01% 0.410 1.876 0.70% 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.696µs; 2.701µs] or [-0.098%; +0.098%] None None None

Baseline

Omitted due to size.

@hoolioh hoolioh force-pushed the julio/remove-sed-from-builder branch from 4fb2105 to 2439e7b Compare October 23, 2024 14:51
@hoolioh hoolioh changed the title Remove sed invocation from profiling plugin. Remove sed invocation from builder plugin. Oct 25, 2024
@hoolioh hoolioh changed the title Remove sed invocation from builder plugin. Remove sed invocation from builder. Oct 25, 2024
@hoolioh hoolioh force-pushed the julio/remove-sed-from-builder branch 5 times, most recently from ebca9be to 8b11d6a Compare October 25, 2024 15:49
@gleocadie gleocadie force-pushed the julio/remove-sed-from-builder branch from 795aa18 to a560a21 Compare October 28, 2024 17:16
@gleocadie gleocadie force-pushed the julio/remove-sed-from-builder branch 7 times, most recently from 8ac0bb3 to c2e963d Compare October 28, 2024 21:48
@bantonsson
Copy link
Contributor

Unrelated, but a nitpick that I noticed when playing around with the builder code. Any file not already added in the builder/build directory is ignored 🤷🏼‍♂️

Here's the patch.

diff --git .gitignore .gitignore
index a98646fb..37987d6c 100644
--- .gitignore
+++ .gitignore
@@ -7,7 +7,8 @@
 .idea
 .vs
 .vscode
-build/
+**/build/*
+!/builder/build/*
 cmake-build-debug
 deliverables
 target

@hoolioh hoolioh force-pushed the julio/remove-sed-from-builder branch 2 times, most recently from 17687cd to 6a68382 Compare November 4, 2024 14:16
@github-actions github-actions bot added the common label Nov 4, 2024
@hoolioh hoolioh force-pushed the julio/remove-sed-from-builder branch 5 times, most recently from f18a645 to c6c1d9b Compare November 4, 2024 16:25
@github-actions github-actions bot removed the common label Nov 4, 2024
@hoolioh hoolioh force-pushed the julio/remove-sed-from-builder branch 6 times, most recently from 23646d9 to 5830027 Compare November 5, 2024 16:53
@gleocadie gleocadie force-pushed the julio/remove-sed-from-builder branch 5 times, most recently from 53df4ab to 13ab2a8 Compare November 6, 2024 09:59
@hoolioh hoolioh force-pushed the julio/remove-sed-from-builder branch 2 times, most recently from 037b718 to 71e67d0 Compare November 7, 2024 16:34
@hoolioh hoolioh changed the title Remove sed invocation from builder. Repurpose builder to support crosscompilation. Nov 7, 2024
@hoolioh hoolioh force-pushed the julio/remove-sed-from-builder branch from 71e67d0 to ea4e7c3 Compare November 7, 2024 16:54
@hoolioh hoolioh marked this pull request as ready for review November 8, 2024 09:11
@hoolioh hoolioh requested review from a team as code owners November 8, 2024 09:11
Copy link
Contributor

@ganeshnj ganeshnj left a comment

Choose a reason for hiding this comment

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

Good foundational work 🎉 , hope we will remove the windows specific scripts soon.

Write-Host "Build finished" -ForegroundColor Magenta
Copy link
Contributor

Choose a reason for hiding this comment

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

/question

I thought we are going to replace cargo build from L25-28 with the new builder crate version?

Copy link
Contributor

Choose a reason for hiding this comment

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

I see you mentioned that we are going to do it later in the description. However, we must add some CI step for building for Windows to keep the feedback loop short.

Copy link
Contributor

Choose a reason for hiding this comment

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

/question

I thought we are going to replace cargo build from L25-28 with the new builder crate version?

For now, on the gitlab builder, if we target x86, the build fails. so for now we keep this as it is and when the build is fix this will be update.

Copy link
Contributor

@gleocadie gleocadie Nov 11, 2024

Choose a reason for hiding this comment

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

I see you mentioned that we are going to do it later in the description. However, we must add some CI step for building for Windows to keep the feedback loop short.

Not sure to understand what do you mean by we must add some CI steps. On each PR, this script is used to build on Windows (gitlab). So there are already CI steps.

Comment on lines +45 to +47
let profile = env::var("PROFILE").unwrap();
let version = env::var("CARGO_PKG_VERSION").unwrap();
let host = env::var("TARGET").unwrap();
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
let profile = env::var("PROFILE").unwrap();
let version = env::var("CARGO_PKG_VERSION").unwrap();
let host = env::var("TARGET").unwrap();
let profile = env::var("PROFILE").expect("PROFILE env var is not set");
let version = env::var("CARGO_PKG_VERSION").expect("CARGO_PKG_VERSION env var is not set");
let host = env::var("TARGET").expect("TARGET env var is not set");

Copy link
Contributor

@ekump ekump left a comment

Choose a reason for hiding this comment

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

not my area of expertise, but looks reasonable to me.

@hoolioh hoolioh force-pushed the julio/remove-sed-from-builder branch from de5df3c to e24e3ed Compare November 11, 2024 10:01
Copy link
Contributor

@gleocadie gleocadie left a comment

Choose a reason for hiding this comment

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

LGTM

@hoolioh hoolioh force-pushed the julio/remove-sed-from-builder branch from e24e3ed to c94e23f Compare November 11, 2024 13:18
@hoolioh hoolioh merged commit 5a20849 into main Nov 11, 2024
32 checks passed
@hoolioh hoolioh deleted the julio/remove-sed-from-builder branch November 11, 2024 15:08
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.

6 participants