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

Normalize directly in the same String instance #582

Merged
merged 1 commit into from
Aug 8, 2024

Conversation

bantonsson
Copy link
Contributor

@bantonsson bantonsson commented Aug 7, 2024

What does this PR do?

This changes the in place normalization to directly manipulate the underlying Vec instance.

Motivation

While working on stabilizing the benchmark results I looked at what allocated things on the heap, and came across this small change.

Additional Notes

Nope.

How to test the change?

The benchmarks and tests should cover it.

@pr-commenter
Copy link

pr-commenter bot commented Aug 7, 2024

Benchmarks

Comparison

Benchmark execution time: 2024-08-08 06:35:31

Comparing candidate commit a023ff8 in PR branch ban/inplace-normalization with baseline commit 748ea8d in branch main.

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

scenario:normalization/normalize_name/normalize_name/bad-name

  • 🟩 execution_time [-9.621µs; -9.560µs] or [-25.945%; -25.780%]
  • 🟩 throughput [+9370525.647op/s; +9448317.219op/s] or [+34.748%; +35.037%]

scenario:normalization/normalize_name/normalize_name/good

  • 🟩 execution_time [-7.789µs; -7.735µs] or [-32.004%; -31.778%]
  • 🟩 throughput [+19179221.814op/s; +19295578.565op/s] or [+46.678%; +46.961%]

scenario:normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...

  • 🟩 execution_time [-49.404µs; -48.944µs] or [-8.885%; -8.802%]
  • 🟩 throughput [+173683.518op/s; +175231.665op/s] or [+9.658%; +9.744%]

scenario:normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて

  • 🟩 execution_time [-30.075µs; -29.210µs] or [-7.147%; -6.942%]
  • 🟩 throughput [+177521.653op/s; +182508.899op/s] or [+7.469%; +7.679%]

scenario:normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters

  • 🟩 execution_time [-19.538µs; -18.742µs] or [-9.738%; -9.341%]
  • 🟩 throughput [+514551.497op/s; +534596.203op/s] or [+10.322%; +10.724%]

scenario:normalization/normalize_service/normalize_service/[empty string]

  • 🟩 execution_time [-2.985µs; -2.967µs] or [-6.133%; -6.096%]
  • 🟩 throughput [+1334179.731op/s; +1342341.156op/s] or [+6.493%; +6.533%]

scenario:normalization/normalize_service/normalize_service/test_ASCII

  • 🟩 execution_time [-12.356µs; -12.241µs] or [-19.418%; -19.238%]
  • 🟩 throughput [+3749150.040op/s; +3781305.940op/s] or [+23.855%; +24.060%]

scenario:normalization/normalize_trace/test_trace

  • 🟩 execution_time [-40.827ns; -35.030ns] or [-11.737%; -10.071%]

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 a023ff8 1723098344 ban/inplace-normalization
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 73.744µs 73.861µs ± 0.230µs 73.827µs ± 0.025µs 73.851µs 73.981µs 74.338µs 76.309µs 3.36% 8.872 84.348 0.31% 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 [73.829µs; 73.893µs] or [-0.043%; +0.043%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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.678µs 2.741µs ± 0.029µs 2.748µs ± 0.008µs 2.753µs 2.760µs 2.767µs 2.940µs 6.97% 2.546 19.692 1.06% 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.737µs; 2.745µs] or [-0.148%; +0.148%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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 133.046µs 133.432µs ± 0.261µs 133.400µs ± 0.102µs 133.521µs 133.666µs 133.806µs 136.443µs 2.28% 7.771 87.274 0.19% 0.018µ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 [133.396µs; 133.468µs] or [-0.027%; +0.027%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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 2.415µs 2.416µs ± 0.001µs 2.416µs ± 0.001µs 2.417µs 2.417µs 2.418µs 2.419µs 0.12% 0.726 1.031 0.03% 0.000µs 1 200
credit_card/is_card_number/ throughput 413416473.537op/s 413901233.926op/s ± 118634.432op/s 413909065.042op/s ± 86444.338op/s 413993552.336op/s 414063282.138op/s 414111010.211op/s 414135366.820op/s 0.05% -0.724 1.023 0.03% 8388.721op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 105.307µs 108.261µs ± 2.481µs 107.398µs ± 1.687µs 110.300µs 112.486µs 113.064µs 114.425µs 6.54% 0.566 -1.057 2.29% 0.175µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 8739312.784op/s 9241729.328op/s ± 209173.566op/s 9311154.348op/s ± 148551.998op/s 9421750.342op/s 9487584.198op/s 9494684.975op/s 9496020.657op/s 1.99% -0.523 -1.111 2.26% 14790.805op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 100.826µs 103.910µs ± 2.167µs 103.334µs ± 1.083µs 104.966µs 108.582µs 109.882µs 110.201µs 6.65% 1.093 0.338 2.08% 0.153µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 9074356.125op/s 9627809.523op/s ± 196430.420op/s 9677403.775op/s ± 101447.982op/s 9770992.615op/s 9851297.083op/s 9889272.387op/s 9918085.909op/s 2.49% -1.023 0.173 2.04% 13889.728op/s 1 200
credit_card/is_card_number/37828224631 execution_time 2.415µs 2.416µs ± 0.004µs 2.416µs ± 0.000µs 2.416µs 2.417µs 2.417µs 2.479µs 2.60% 13.604 186.989 0.19% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 403452658.193op/s 413883136.455op/s ± 749353.926op/s 413945338.518op/s ± 82649.774op/s 414015339.268op/s 414103235.937op/s 414141984.438op/s 414150958.024op/s 0.05% -13.582 186.582 0.18% 52987.324op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 97.819µs 100.963µs ± 2.704µs 99.931µs ± 1.453µs 103.215µs 105.989µs 106.797µs 107.979µs 8.05% 0.796 -0.726 2.67% 0.191µs 1 200
credit_card/is_card_number/378282246310005 throughput 9261021.902op/s 9911508.754op/s ± 260130.080op/s 10006900.747op/s ± 147580.235op/s 10123009.147op/s 10199626.787op/s 10217243.584op/s 10222960.708op/s 2.16% -0.746 -0.813 2.62% 18393.974op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 105.433µs 108.366µs ± 1.213µs 108.260µs ± 0.721µs 109.093µs 110.746µs 111.655µs 112.227µs 3.66% 0.516 0.648 1.12% 0.086µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 8910534.782op/s 9229123.329op/s ± 102776.282op/s 9237019.726op/s ± 61535.480op/s 9296130.952op/s 9369794.165op/s 9462743.715op/s 9484712.887op/s 2.68% -0.437 0.563 1.11% 7267.381op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 22.216µs 23.441µs ± 0.556µs 23.424µs ± 0.450µs 23.876µs 24.292µs 24.637µs 24.789µs 5.83% -0.016 -0.785 2.36% 0.039µs 1 200
credit_card/is_card_number/x371413321323331 throughput 40339855.673op/s 42684846.555op/s ± 1013129.867op/s 42691786.515op/s ± 804658.734op/s 43482424.298op/s 44363955.248op/s 44812156.957op/s 45012125.672op/s 5.44% 0.102 -0.791 2.37% 71639.100op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 2.415µs 2.416µs ± 0.001µs 2.416µs ± 0.000µs 2.416µs 2.417µs 2.418µs 2.418µs 0.10% 0.771 0.853 0.03% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 413546050.500op/s 413952059.181op/s ± 110178.175op/s 413967027.526op/s ± 79791.104op/s 414037045.966op/s 414096132.419op/s 414124732.739op/s 414157421.236op/s 0.05% -0.770 0.847 0.03% 7790.773op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 88.780µs 89.967µs ± 0.416µs 89.912µs ± 0.214µs 90.180µs 90.739µs 90.948µs 91.290µs 1.53% 0.464 0.436 0.46% 0.029µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 10954076.599op/s 11115461.276op/s ± 51245.011op/s 11122012.450op/s ± 26567.513op/s 11147749.942op/s 11192762.553op/s 11225388.940op/s 11263735.849op/s 1.27% -0.434 0.418 0.46% 3623.569op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 82.918µs 85.189µs ± 1.458µs 84.796µs ± 0.976µs 86.316µs 87.712µs 88.824µs 88.910µs 4.85% 0.608 -0.587 1.71% 0.103µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 11247373.786op/s 11742022.945op/s ± 199004.227op/s 11793014.520op/s ± 136167.194op/s 11913805.747op/s 11996049.823op/s 12041302.856op/s 12060148.252op/s 2.27% -0.555 -0.675 1.69% 14071.724op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 2.415µs 2.416µs ± 0.001µs 2.416µs ± 0.001µs 2.417µs 2.417µs 2.419µs 2.421µs 0.20% 1.511 5.422 0.03% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 413087044.696op/s 413898753.760op/s ± 140383.881op/s 413914714.672op/s ± 95493.744op/s 414008314.925op/s 414063764.289op/s 414125615.637op/s 414150851.171op/s 0.06% -1.506 5.388 0.03% 9926.639op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 82.013µs 84.349µs ± 0.898µs 84.418µs ± 0.636µs 85.046µs 85.610µs 86.017µs 86.167µs 2.07% -0.380 -0.435 1.06% 0.063µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 11605406.052op/s 11856826.016op/s ± 126716.337op/s 11845835.225op/s ± 88995.894op/s 11941104.867op/s 12083178.455op/s 12166100.592op/s 12193123.918op/s 2.93% 0.425 -0.381 1.07% 8960.198op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 104.231µs 108.301µs ± 1.143µs 108.277µs ± 0.670µs 109.051µs 110.073µs 111.083µs 112.155µs 3.58% -0.110 1.186 1.05% 0.081µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 8916270.468op/s 9234536.864op/s ± 97611.424op/s 9235593.289op/s ± 57164.657op/s 9287426.482op/s 9378933.196op/s 9514798.067op/s 9594045.997op/s 3.88% 0.212 1.284 1.05% 6902.170op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 22.399µs 23.482µs ± 0.526µs 23.453µs ± 0.358µs 23.806µs 24.412µs 24.751µs 25.273µs 7.76% 0.463 0.048 2.23% 0.037µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 39567748.877op/s 42606581.563op/s ± 945849.648op/s 42638934.705op/s ± 643895.701op/s 43321953.347op/s 44031227.698op/s 44590273.740op/s 44643902.898op/s 4.70% -0.343 -0.129 2.21% 66881.670op/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 [2.416µs; 2.416µs] or [-0.004%; +0.004%] None None None
credit_card/is_card_number/ throughput [413884792.334op/s; 413917675.517op/s] or [-0.004%; +0.004%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [107.917µs; 108.605µs] or [-0.318%; +0.318%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [9212739.883op/s; 9270718.772op/s] or [-0.314%; +0.314%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [103.609µs; 104.210µs] or [-0.289%; +0.289%] None None None
credit_card/is_card_number/ 378282246310005 throughput [9600586.156op/s; 9655032.890op/s] or [-0.283%; +0.283%] None None None
credit_card/is_card_number/37828224631 execution_time [2.416µs; 2.417µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number/37828224631 throughput [413779283.207op/s; 413986989.702op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/378282246310005 execution_time [100.589µs; 101.338µs] or [-0.371%; +0.371%] None None None
credit_card/is_card_number/378282246310005 throughput [9875457.227op/s; 9947560.282op/s] or [-0.364%; +0.364%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [108.198µs; 108.534µs] or [-0.155%; +0.155%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [9214879.525op/s; 9243367.133op/s] or [-0.154%; +0.154%] None None None
credit_card/is_card_number/x371413321323331 execution_time [23.364µs; 23.518µs] or [-0.328%; +0.328%] None None None
credit_card/is_card_number/x371413321323331 throughput [42544436.499op/s; 42825256.610op/s] or [-0.329%; +0.329%] None None None
credit_card/is_card_number_no_luhn/ execution_time [2.416µs; 2.416µs] or [-0.004%; +0.004%] None None None
credit_card/is_card_number_no_luhn/ throughput [413936789.546op/s; 413967328.817op/s] or [-0.004%; +0.004%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [89.909µs; 90.024µs] or [-0.064%; +0.064%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [11108359.210op/s; 11122563.341op/s] or [-0.064%; +0.064%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [84.987µs; 85.391µs] or [-0.237%; +0.237%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [11714442.873op/s; 11769603.017op/s] or [-0.235%; +0.235%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [2.416µs; 2.416µs] or [-0.005%; +0.005%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [413879297.905op/s; 413918209.616op/s] or [-0.005%; +0.005%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [84.225µs; 84.474µs] or [-0.147%; +0.147%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [11839264.350op/s; 11874387.681op/s] or [-0.148%; +0.148%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [108.143µs; 108.460µs] or [-0.146%; +0.146%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [9221008.859op/s; 9248064.868op/s] or [-0.146%; +0.146%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [23.409µs; 23.555µs] or [-0.310%; +0.310%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [42475495.899op/s; 42737667.228op/s] or [-0.308%; +0.308%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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 37.642µs 38.349µs ± 1.195µs 37.815µs ± 0.050µs 37.865µs 40.922µs 40.969µs 41.705µs 10.29% 1.701 0.949 3.11% 0.084µ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 [38.183µs; 38.514µs] or [-0.432%; +0.432%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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.403µs 2.882µs ± 1.389µs 2.721µs ± 0.020µs 2.738µs 2.951µs 12.683µs 15.656µs 475.29% 7.965 63.288 48.07% 0.098µ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.690µs; 3.075µs] or [-6.679%; +6.679%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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 297.016ns 309.913ns ± 15.384ns 301.662ns ± 3.232ns 317.553ns 344.498ns 349.967ns 352.389ns 16.82% 1.259 0.201 4.95% 1.088ns 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 [307.781ns; 312.045ns] or [-0.688%; +0.688%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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 280.742µs 283.269µs ± 2.693µs 282.310µs ± 1.274µs 284.348µs 289.316µs 289.864µs 289.929µs 2.70% 1.092 0.023 0.95% 0.190µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 3449114.559op/s 3530533.270op/s ± 33220.722op/s 3542205.048op/s ± 16056.423op/s 3557492.795op/s 3559756.144op/s 3561057.684op/s 3561984.487op/s 0.56% -1.068 -0.036 0.94% 2349.060op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 27.243µs 27.492µs ± 0.211µs 27.410µs ± 0.094µs 27.592µs 27.975µs 28.070µs 28.169µs 2.77% 1.228 0.629 0.76% 0.015µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 35500065.760op/s 36376443.950op/s ± 276406.101op/s 36482953.062op/s ± 125070.988op/s 36581771.408op/s 36652456.477op/s 36697754.071op/s 36706394.638op/s 0.61% -1.202 0.552 0.76% 19544.863op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 16.543µs 16.577µs ± 0.084µs 16.553µs ± 0.004µs 16.586µs 16.652µs 16.748µs 17.628µs 6.49% 9.946 118.639 0.51% 0.006µs 1 200
normalization/normalize_name/normalize_name/good throughput 56729060.552op/s 60325844.893op/s ± 292737.006op/s 60412898.928op/s ± 15519.151op/s 60424536.597op/s 60435092.376op/s 60443049.412op/s 60449340.095op/s 0.06% -9.618 112.808 0.48% 20699.632op/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 [282.895µs; 283.642µs] or [-0.132%; +0.132%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [3525929.197op/s; 3535137.343op/s] or [-0.130%; +0.130%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [27.463µs; 27.521µs] or [-0.106%; +0.106%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [36338136.723op/s; 36414751.177op/s] or [-0.105%; +0.105%] None None None
normalization/normalize_name/normalize_name/good execution_time [16.565µs; 16.589µs] or [-0.071%; +0.071%] None None None
normalization/normalize_name/normalize_name/good throughput [60285274.360op/s; 60366415.427op/s] or [-0.067%; +0.067%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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.146µs 1.349µs ± 0.061µs 1.354µs ± 0.050µs 1.401µs 1.435µs 1.444µs 1.444µs 6.64% -0.727 0.861 4.54% 0.004µ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.341µs; 1.358µs] or [-0.630%; +0.630%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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.418µs 23.944µs ± 16.693µs 17.571µs ± 0.048µs 17.631µs 53.959µs 57.380µs 156.215µs 789.05% 4.332 26.031 69.54% 1.180µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [21.631µs; 26.258µs] or [-9.662%; +9.662%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz a023ff8 1723098344 ban/inplace-normalization
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.028µs 506.888µs ± 0.910µs 506.706µs ± 0.240µs 506.962µs 507.631µs 511.628µs 512.078µs 1.06% 4.306 19.993 0.18% 0.064µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1952826.602op/s 1972828.824op/s ± 3516.384op/s 1973532.033op/s ± 936.692op/s 1974405.491op/s 1975131.927op/s 1976012.705op/s 1976174.542op/s 0.13% -4.287 19.861 0.18% 248.646op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 389.147µs 391.139µs ± 1.155µs 390.855µs ± 0.696µs 391.752µs 393.281µs 394.343µs 395.059µs 1.08% 0.862 0.568 0.29% 0.082µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2531269.520op/s 2556658.362op/s ± 7528.745op/s 2558495.658op/s ± 4560.774op/s 2562460.709op/s 2566445.058op/s 2568372.672op/s 2569725.111op/s 0.44% -0.846 0.526 0.29% 532.363op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 181.199µs 181.499µs ± 0.144µs 181.518µs ± 0.103µs 181.605µs 181.669µs 181.776µs 182.325µs 0.44% 0.722 3.931 0.08% 0.010µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5484707.699op/s 5509665.452op/s ± 4372.725op/s 5509095.517op/s ± 3109.503op/s 5513871.287op/s 5515862.200op/s 5517568.814op/s 5518790.540op/s 0.18% -0.710 3.852 0.08% 309.198op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 45.581µs 45.689µs ± 0.049µs 45.687µs ± 0.034µs 45.723µs 45.765µs 45.803µs 45.852µs 0.36% 0.106 -0.038 0.11% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 21809068.558op/s 21886919.286op/s ± 23256.771op/s 21887968.969op/s ± 16201.988op/s 21902631.614op/s 21926661.767op/s 21937055.130op/s 21938906.504op/s 0.23% -0.099 -0.045 0.11% 1644.502op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 50.770µs 51.331µs ± 0.211µs 51.404µs ± 0.062µs 51.461µs 51.543µs 51.573µs 51.704µs 0.58% -1.292 0.483 0.41% 0.015µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 19341041.506op/s 19481601.050op/s ± 80587.469op/s 19453675.940op/s ± 23567.202op/s 19482530.288op/s 19667848.673op/s 19689717.066op/s 19696546.562op/s 1.25% 1.302 0.504 0.41% 5698.395op/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 [506.762µs; 507.014µs] or [-0.025%; +0.025%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1972341.487op/s; 1973316.161op/s] or [-0.025%; +0.025%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [390.979µs; 391.299µs] or [-0.041%; +0.041%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2555614.951op/s; 2557701.774op/s] or [-0.041%; +0.041%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [181.479µs; 181.519µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5509059.435op/s; 5510271.470op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [45.683µs; 45.696µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [21883696.121op/s; 21890142.451op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [51.302µs; 51.361µs] or [-0.057%; +0.057%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [19470432.402op/s; 19492769.698op/s] or [-0.057%; +0.057%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Aug 7, 2024

Codecov Report

Attention: Patch coverage is 88.23529% with 2 lines in your changes missing coverage. Please review.

Project coverage is 71.26%. Comparing base (748ea8d) to head (a023ff8).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #582      +/-   ##
==========================================
- Coverage   71.30%   71.26%   -0.04%     
==========================================
  Files         220      220              
  Lines       29904    29924      +20     
==========================================
+ Hits        21322    21326       +4     
- Misses       8582     8598      +16     
Components Coverage Δ
crashtracker 21.17% <ø> (+0.05%) ⬆️
datadog-alloc 98.73% <ø> (ø)
data-pipeline 50.00% <ø> (ø)
data-pipeline-ffi 0.00% <ø> (ø)
ddcommon 83.07% <ø> (ø)
ddcommon-ffi 70.20% <ø> (ø)
ddtelemetry 58.95% <ø> (ø)
ipc 84.18% <ø> (ø)
profiling 84.26% <ø> (ø)
profiling-ffi 77.42% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 34.55% <ø> (ø)
sidecar-ffi 0.00% <ø> (ø)
spawn-worker 54.87% <ø> (ø)
trace-mini-agent 70.88% <ø> (ø)
trace-normalization 98.25% <88.23%> (+<0.01%) ⬆️
trace-obfuscation 95.73% <ø> (ø)
trace-protobuf 77.16% <ø> (ø)
trace-utils 92.96% <ø> (-0.43%) ⬇️

@bantonsson bantonsson changed the title [WIP] Normalize directly in the same String instance Normalize directly in the same String instance Aug 8, 2024
@bantonsson bantonsson marked this pull request as ready for review August 8, 2024 06:37
@bantonsson bantonsson requested review from a team as code owners August 8, 2024 06:37
@bantonsson bantonsson merged commit 651d5b4 into main Aug 8, 2024
34 checks passed
@bantonsson bantonsson deleted the ban/inplace-normalization branch August 8, 2024 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants