Skip to content

feat: converter deduplicates sbom urls, skus, generic uris - #1333

Merged
peinjoh merged 19 commits into
mainfrom
feat/converter-some-deduplicate-pih
Nov 10, 2026
Merged

peinjoh merged 19 commits into
mainfrom
feat/converter-some-deduplicate-pih

Conversation

@peinjoh

@peinjoh peinjoh commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Resolves #1060
Resolves #1062
Resolves #1058

@peinjoh
peinjoh requested a review from a team as a code owner October 20, 2026 12:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No unresolved review issues were identified.

No open issues 🎉

What changed in this PR

Adds CSAF 2.0→2.1 conversion steps to deduplicate SBOM URLs, SKUs, and generic URIs while preserving first-occurrence order.

Changes:

  • Registers three deduplication conversions.
  • Adds focused unit tests and integration coverage.
File Description
csaf-rs/​src/​converter/​mod.rs Registers conversions and updates integration coverage.
csaf-rs/​src/​converter/​deduplicate_sbom_urls.rs Deduplicates SBOM URLs.
csaf-rs/​src/​converter/​deduplicate_skus.rs Deduplicates SKUs.
csaf-rs/​src/​converter/​deduplicate_x_generic_uris.rs Deduplicates generic URI objects.

Review effort: Lite

@github-actions github-actions Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CSAF Validation Benchmark

Details
Benchmark suite Current: e55c259 Previous: 7884893 Ratio
csaf_2_0_tests/6.1.1 132282 ns/iter (± 862) 81579 ns/iter (± 339) 1.62
csaf_2_0_tests/6.1.2 56426 ns/iter (± 120) 36539 ns/iter (± 248) 1.54
csaf_2_0_tests/6.1.3 19754 ns/iter (± 25) 11575 ns/iter (± 134) 1.71
csaf_2_0_tests/6.1.4 31798 ns/iter (± 297) 20158 ns/iter (± 161) 1.58
csaf_2_0_tests/6.1.5 18821 ns/iter (± 116) 10812 ns/iter (± 78) 1.74
csaf_2_0_tests/6.1.6 44661 ns/iter (± 199) 27278 ns/iter (± 289) 1.64
csaf_2_0_tests/6.1.7 38243 ns/iter (± 185) 24699 ns/iter (± 168) 1.55
csaf_2_0_tests/6.1.8 56960 ns/iter (± 455) 33496 ns/iter (± 215) 1.70
csaf_2_0_tests/6.1.9 65109 ns/iter (± 265) 40701 ns/iter (± 213) 1.60
csaf_2_0_tests/6.1.10 60458 ns/iter (± 370) 38080 ns/iter (± 379) 1.59
csaf_2_0_tests/6.1.11 19465 ns/iter (± 22) 11447 ns/iter (± 49) 1.70
csaf_2_0_tests/6.1.12 38327 ns/iter (± 163) 28424 ns/iter (± 39) 1.35
csaf_2_0_tests/6.1.13 38356 ns/iter (± 203) 24198 ns/iter (± 91) 1.59
csaf_2_0_tests/6.1.14 71663 ns/iter (± 467) 49452 ns/iter (± 667) 1.45
csaf_2_0_tests/6.1.15 102882 ns/iter (± 371) 63518 ns/iter (± 854) 1.62
csaf_2_0_tests/6.1.16 55162 ns/iter (± 358) 34795 ns/iter (± 2381) 1.59
csaf_2_0_tests/6.1.17 19027 ns/iter (± 42) 11205 ns/iter (± 682) 1.70
csaf_2_0_tests/6.1.18 21158 ns/iter (± 24) 12543 ns/iter (± 91) 1.69
csaf_2_0_tests/6.1.19 21026 ns/iter (± 57) 12627 ns/iter (± 675) 1.67
csaf_2_0_tests/6.1.20 18769 ns/iter (± 98) 10959 ns/iter (± 524) 1.71
csaf_2_0_tests/6.1.21 105755 ns/iter (± 288) 68661 ns/iter (± 437) 1.54
csaf_2_0_tests/6.1.22 65485 ns/iter (± 1566) 40444 ns/iter (± 2070) 1.62
csaf_2_0_tests/6.1.23 21059 ns/iter (± 256) 12678 ns/iter (± 68) 1.66
csaf_2_0_tests/6.1.24 21115 ns/iter (± 73) 13051 ns/iter (± 88) 1.62
csaf_2_0_tests/6.1.25 41938 ns/iter (± 293) 27461 ns/iter (± 119) 1.53
csaf_2_0_tests/6.1.26 21805 ns/iter (± 728) 13309 ns/iter (± 152) 1.64
csaf_2_0_tests/6.1.27.1 18650 ns/iter (± 102) 10878 ns/iter (± 488) 1.71
csaf_2_0_tests/6.1.27.2 74127 ns/iter (± 209) 46759 ns/iter (± 421) 1.59
csaf_2_0_tests/6.1.27.3 18215 ns/iter (± 53) 10905 ns/iter (± 667) 1.67
csaf_2_0_tests/6.1.27.4 18950 ns/iter (± 58) 10975 ns/iter (± 26) 1.73
csaf_2_0_tests/6.1.27.5 19677 ns/iter (± 196) 11790 ns/iter (± 75) 1.67
csaf_2_0_tests/6.1.27.6 18091 ns/iter (± 57) 11255 ns/iter (± 159) 1.61
csaf_2_0_tests/6.1.27.7 17735 ns/iter (± 162) 10454 ns/iter (± 121) 1.70
csaf_2_0_tests/6.1.27.8 18908 ns/iter (± 92) 11355 ns/iter (± 84) 1.67
csaf_2_0_tests/6.1.27.9 32334 ns/iter (± 189) 20978 ns/iter (± 76) 1.54
csaf_2_0_tests/6.1.27.10 18956 ns/iter (± 163) 11299 ns/iter (± 114) 1.68
csaf_2_0_tests/6.1.27.11 18200 ns/iter (± 19) 10359 ns/iter (± 57) 1.76
csaf_2_0_tests/6.1.28 31348 ns/iter (± 172) 25842 ns/iter (± 222) 1.21
csaf_2_0_tests/6.1.29 17876 ns/iter (± 174) 11094 ns/iter (± 75) 1.61
csaf_2_0_tests/6.1.30 49333 ns/iter (± 613) 30558 ns/iter (± 132) 1.61
csaf_2_0_tests/6.1.31 41899 ns/iter (± 388) 30377 ns/iter (± 1685) 1.38
csaf_2_0_tests/6.1.32 18522 ns/iter (± 116) 10950 ns/iter (± 137) 1.69
csaf_2_0_tests/6.1.33 26432 ns/iter (± 284) 16738 ns/iter (± 142) 1.58
csaf_2_0_tests/6.2.1 157592 ns/iter (± 643) 111284 ns/iter (± 3581) 1.42
csaf_2_0_tests/6.2.2 46203 ns/iter (± 238) 29093 ns/iter (± 289) 1.59
csaf_2_0_tests/6.2.3 22233 ns/iter (± 169) 14000 ns/iter (± 199) 1.59
csaf_2_0_tests/6.2.4 21131 ns/iter (± 50) 13238 ns/iter (± 792) 1.60
csaf_2_0_tests/6.2.5 60405 ns/iter (± 325) 38345 ns/iter (± 757) 1.58
csaf_2_0_tests/6.2.6 61303 ns/iter (± 178) 38654 ns/iter (± 2360) 1.59
csaf_2_0_tests/6.2.7 18083 ns/iter (± 36) 10829 ns/iter (± 43) 1.67
csaf_2_0_tests/6.2.8 40118 ns/iter (± 80) 26211 ns/iter (± 1898) 1.53
csaf_2_0_tests/6.2.9 39754 ns/iter (± 981) 26577 ns/iter (± 836) 1.50
csaf_2_0_tests/6.2.10 43763 ns/iter (± 215) 28896 ns/iter (± 626) 1.51
csaf_2_0_tests/6.2.11 47889 ns/iter (± 144) 32062 ns/iter (± 574) 1.49
csaf_2_0_tests/6.2.12 88507 ns/iter (± 1209) 59092 ns/iter (± 3641) 1.50
csaf_2_0_tests/6.2.13 855023 ns/iter (± 2717) 603139 ns/iter (± 18495) 1.42
csaf_2_0_tests/6.2.14 50084 ns/iter (± 174) 38083 ns/iter (± 25) 1.32
csaf_2_0_tests/6.2.15 40670 ns/iter (± 202) 32168 ns/iter (± 2348) 1.26
csaf_2_0_tests/6.2.16 55833 ns/iter (± 162) 37445 ns/iter (± 418) 1.49
csaf_2_0_tests/6.2.17 19916 ns/iter (± 138) 12000 ns/iter (± 658) 1.66
csaf_2_0_tests/6.2.18 31072 ns/iter (± 148) 19672 ns/iter (± 177) 1.58
csaf_2_0_tests/6.2.19 53484 ns/iter (± 196) 32436 ns/iter (± 310) 1.65
csaf_2_0_tests/6.2.20 243244 ns/iter (± 1262) 148001 ns/iter (± 999) 1.64
csaf_2_0_tests/6.3.1 40184 ns/iter (± 443) 29239 ns/iter (± 1788) 1.37
csaf_2_0_tests/6.3.2 26002 ns/iter (± 377) 16312 ns/iter (± 181) 1.59
csaf_2_0_tests/6.3.3 105577 ns/iter (± 569) 75495 ns/iter (± 4159) 1.40
csaf_2_0_tests/6.3.4 38716 ns/iter (± 367) 26211 ns/iter (± 1639) 1.48
csaf_2_0_tests/6.3.5 42108 ns/iter (± 340) 26572 ns/iter (± 857) 1.58
csaf_2_0_tests/6.3.6 17392 ns/iter (± 62) 10170 ns/iter (± 508) 1.71
csaf_2_0_tests/6.3.7 17985 ns/iter (± 75) 9880 ns/iter (± 85) 1.82
csaf_2_0_tests/6.3.8 17609 ns/iter (± 55) 11584 ns/iter (± 901) 1.52
csaf_2_0_tests/6.3.9 40023 ns/iter (± 284) 26590 ns/iter (± 444) 1.51
csaf_2_0_tests/6.3.10 31493 ns/iter (± 265) 20672 ns/iter (± 96) 1.52
csaf_2_0_tests/6.3.11 30903 ns/iter (± 141) 21534 ns/iter (± 1213) 1.44
csaf_2_1_tests/6.1.1 741298 ns/iter (± 6152) 554278 ns/iter (± 28142) 1.34
csaf_2_1_tests/6.1.2 332558 ns/iter (± 1166) 215188 ns/iter (± 891) 1.55
csaf_2_1_tests/6.1.3 125093 ns/iter (± 197) 77932 ns/iter (± 460) 1.61
csaf_2_1_tests/6.1.4 175070 ns/iter (± 669) 105773 ns/iter (± 410) 1.66
csaf_2_1_tests/6.1.5 87999 ns/iter (± 460) 51155 ns/iter (± 71) 1.72
csaf_2_1_tests/6.1.6 178788 ns/iter (± 394) 104241 ns/iter (± 264) 1.72
csaf_2_1_tests/6.1.7 213999 ns/iter (± 513) 155275 ns/iter (± 5973) 1.38
csaf_2_1_tests/6.1.8 426686 ns/iter (± 1488) 252868 ns/iter (± 2866) 1.69
csaf_2_1_tests/6.1.9 515109 ns/iter (± 3226) 330511 ns/iter (± 826) 1.56
csaf_2_1_tests/6.1.10 324117 ns/iter (± 1168) 228259 ns/iter (± 16139) 1.42
csaf_2_1_tests/6.1.11 113698 ns/iter (± 565) 69342 ns/iter (± 744) 1.64
csaf_2_1_tests/6.1.12 133942 ns/iter (± 248) 96220 ns/iter (± 231) 1.39
csaf_2_1_tests/6.1.13 262567 ns/iter (± 454) 171823 ns/iter (± 1621) 1.53
csaf_2_1_tests/6.1.14 309923 ns/iter (± 3038) 182904 ns/iter (± 1088) 1.69
csaf_2_1_tests/6.1.15 579160 ns/iter (± 3221) 406146 ns/iter (± 2886) 1.43
csaf_2_1_tests/6.1.16 238651 ns/iter (± 5644) 138213 ns/iter (± 3822) 1.73
csaf_2_1_tests/6.1.17 93661 ns/iter (± 1179) 52204 ns/iter (± 261) 1.79
csaf_2_1_tests/6.1.18 108289 ns/iter (± 601) 58025 ns/iter (± 4590) 1.87
csaf_2_1_tests/6.1.19 107702 ns/iter (± 225) 58690 ns/iter (± 906) 1.84
csaf_2_1_tests/6.1.20 91421 ns/iter (± 317) 52193 ns/iter (± 2738) 1.75
csaf_2_1_tests/6.1.21 426589 ns/iter (± 517) 265692 ns/iter (± 631) 1.61
csaf_2_1_tests/6.1.22 276868 ns/iter (± 727) 181070 ns/iter (± 6305) 1.53
csaf_2_1_tests/6.1.23 100289 ns/iter (± 771) 62361 ns/iter (± 3692) 1.61
csaf_2_1_tests/6.1.24 262084 ns/iter (± 1628) 166606 ns/iter (± 608) 1.57
csaf_2_1_tests/6.1.25 256810 ns/iter (± 1881) 180922 ns/iter (± 14114) 1.42
csaf_2_1_tests/6.1.26 116505 ns/iter (± 655) 71634 ns/iter (± 4482) 1.63
csaf_2_1_tests/6.1.27.1 89204 ns/iter (± 1131) 52247 ns/iter (± 2626) 1.71
csaf_2_1_tests/6.1.27.2 449846 ns/iter (± 19996) 249586 ns/iter (± 2797) 1.80
csaf_2_1_tests/6.1.27.3 91074 ns/iter (± 309) 53192 ns/iter (± 233) 1.71
csaf_2_1_tests/6.1.27.4 93981 ns/iter (± 1213) 54283 ns/iter (± 99) 1.73
csaf_2_1_tests/6.1.27.5 93880 ns/iter (± 506) 54721 ns/iter (± 3976) 1.72
csaf_2_1_tests/6.1.27.6 87694 ns/iter (± 673) 55796 ns/iter (± 3342) 1.57
csaf_2_1_tests/6.1.27.7 87633 ns/iter (± 641) 51295 ns/iter (± 4233) 1.71
csaf_2_1_tests/6.1.27.8 102946 ns/iter (± 921) 62431 ns/iter (± 3553) 1.65
csaf_2_1_tests/6.1.27.9 111264 ns/iter (± 5545) 67161 ns/iter (± 584) 1.66
csaf_2_1_tests/6.1.27.10 88886 ns/iter (± 287) 49045 ns/iter (± 359) 1.81
csaf_2_1_tests/6.1.27.11 91104 ns/iter (± 447) 51932 ns/iter (± 1434) 1.75
csaf_2_1_tests/6.1.27.12 92545 ns/iter (± 2595) 55469 ns/iter (± 3911) 1.67
csaf_2_1_tests/6.1.27.13 117312 ns/iter (± 277) 67968 ns/iter (± 738) 1.73
csaf_2_1_tests/6.1.27.14 93227 ns/iter (± 263) 51791 ns/iter (± 406) 1.80
csaf_2_1_tests/6.1.27.15 92594 ns/iter (± 599) 51134 ns/iter (± 3709) 1.81
csaf_2_1_tests/6.1.27.16 93139 ns/iter (± 144) 51708 ns/iter (± 2730) 1.80
csaf_2_1_tests/6.1.27.17 97979 ns/iter (± 176) 56029 ns/iter (± 740) 1.75
csaf_2_1_tests/6.1.27.18 101807 ns/iter (± 514) 58998 ns/iter (± 4178) 1.73
csaf_2_1_tests/6.1.27.19 492055 ns/iter (± 1062) 280387 ns/iter (± 13007) 1.75
csaf_2_1_tests/6.1.27.20 99360 ns/iter (± 264) 57082 ns/iter (± 1985) 1.74
csaf_2_1_tests/6.1.28 127906 ns/iter (± 527) 87626 ns/iter (± 5631) 1.46
csaf_2_1_tests/6.1.29 88004 ns/iter (± 1151) 59520 ns/iter (± 3603) 1.48
csaf_2_1_tests/6.1.30 234246 ns/iter (± 2077) 124374 ns/iter (± 4753) 1.88
csaf_2_1_tests/6.1.31 247920 ns/iter (± 676) 162399 ns/iter (± 935) 1.53
csaf_2_1_tests/6.1.32 87856 ns/iter (± 336) 53047 ns/iter (± 565) 1.66
csaf_2_1_tests/6.1.33 100670 ns/iter (± 287) 59515 ns/iter (± 499) 1.69
csaf_2_1_tests/6.1.34 103772 ns/iter (± 741) 60255 ns/iter (± 364) 1.72
csaf_2_1_tests/6.1.35 129239 ns/iter (± 782) 78006 ns/iter (± 294) 1.66
csaf_2_1_tests/6.1.36 197898 ns/iter (± 1230) 114443 ns/iter (± 290) 1.73
csaf_2_1_tests/6.1.37 897558 ns/iter (± 4489) 517327 ns/iter (± 12252) 1.73
csaf_2_1_tests/6.1.38 90293 ns/iter (± 187) 52799 ns/iter (± 1928) 1.71
csaf_2_1_tests/6.1.39 90399 ns/iter (± 195) 56010 ns/iter (± 3511) 1.61
csaf_2_1_tests/6.1.40 90554 ns/iter (± 1098) 53214 ns/iter (± 215) 1.70
csaf_2_1_tests/6.1.41 93985 ns/iter (± 172) 62537 ns/iter (± 3918) 1.50
csaf_2_1_tests/6.1.42 276896 ns/iter (± 715) 182781 ns/iter (± 3514) 1.51
csaf_2_1_tests/6.1.43 244792 ns/iter (± 532) 162227 ns/iter (± 11423) 1.51
csaf_2_1_tests/6.1.44 243203 ns/iter (± 3785) 159224 ns/iter (± 10625) 1.53
csaf_2_1_tests/6.1.45 234639 ns/iter (± 2135) 133098 ns/iter (± 932) 1.76
csaf_2_1_tests/6.1.46 256872 ns/iter (± 19899) 162052 ns/iter (± 892) 1.59
csaf_2_1_tests/6.1.47 510057 ns/iter (± 5895) 319127 ns/iter (± 1404) 1.60
csaf_2_1_tests/6.1.48 525047 ns/iter (± 2772) 335220 ns/iter (± 5316) 1.57
csaf_2_1_tests/6.1.49 594371 ns/iter (± 1727) 361055 ns/iter (± 2577) 1.65
csaf_2_1_tests/6.1.50 286860 ns/iter (± 1048) 182745 ns/iter (± 1379) 1.57
csaf_2_1_tests/6.1.51 249304 ns/iter (± 1500) 140375 ns/iter (± 2653) 1.78
csaf_2_1_tests/6.1.52 248065 ns/iter (± 549) 137301 ns/iter (± 222) 1.81
csaf_2_1_tests/6.1.53 100427 ns/iter (± 545) 61664 ns/iter (± 3740) 1.63
csaf_2_1_tests/6.1.54 137881 ns/iter (± 406) 84037 ns/iter (± 713) 1.64
csaf_2_1_tests/6.1.55 138796 ns/iter (± 780) 92038 ns/iter (± 267) 1.51
csaf_2_1_tests/6.1.56 149728 ns/iter (± 3500) 89959 ns/iter (± 354) 1.66
csaf_2_1_tests/6.1.57 195022 ns/iter (± 3299) 126626 ns/iter (± 494) 1.54
csaf_2_1_tests/6.1.58 147302 ns/iter (± 1359) 94633 ns/iter (± 297) 1.56
csaf_2_1_tests/6.1.59 271823 ns/iter (± 270) 176039 ns/iter (± 481) 1.54
csaf_2_1_tests/6.1.60.1 477236 ns/iter (± 950) 356535 ns/iter (± 11865) 1.34
csaf_2_1_tests/6.1.60.2 248189 ns/iter (± 818) 163841 ns/iter (± 9081) 1.51
csaf_2_1_tests/6.1.60.3 79873 ns/iter (± 283) 46278 ns/iter (± 874) 1.73
csaf_2_1_tests/6.1.61 253446 ns/iter (± 1044) 161595 ns/iter (± 6421) 1.57
csaf_2_1_tests/6.1.62 250123 ns/iter (± 666) 140430 ns/iter (± 1352) 1.78
csaf_2_1_tests/6.1.63 272916 ns/iter (± 1750) 176581 ns/iter (± 1093) 1.55
csaf_2_1_tests/6.1.64.1 85886 ns/iter (± 664) 50151 ns/iter (± 302) 1.71
csaf_2_1_tests/6.1.64.2 261576 ns/iter (± 350) 166945 ns/iter (± 889) 1.57
csaf_2_1_tests/6.1.64.3 86765 ns/iter (± 444) 49988 ns/iter (± 3268) 1.74
csaf_2_1_tests/6.1.64.4 134739 ns/iter (± 264) 80152 ns/iter (± 4510) 1.68
csaf_2_1_tests/6.1.64.5 119795 ns/iter (± 651) 69825 ns/iter (± 609) 1.72
csaf_2_1_tests/6.1.64.6 102084 ns/iter (± 2514) 66862 ns/iter (± 3925) 1.53
csaf_2_1_tests/6.1.64.7 92514 ns/iter (± 342) 59115 ns/iter (± 3955) 1.56
csaf_2_1_tests/6.1.64.8 87526 ns/iter (± 787) 51089 ns/iter (± 727) 1.71
csaf_2_1_tests/6.1.64.9 99839 ns/iter (± 212) 58720 ns/iter (± 260) 1.70
csaf_2_1_tests/6.1.64.10 100784 ns/iter (± 128) 57944 ns/iter (± 944) 1.74
csaf_2_1_tests/6.1.64.11 136467 ns/iter (± 3390) 88632 ns/iter (± 7049) 1.54
csaf_2_1_tests/6.1.64.12 112860 ns/iter (± 764) 66095 ns/iter (± 1274) 1.71
csaf_2_1_tests/6.1.64.13 94063 ns/iter (± 328) 48938 ns/iter (± 396) 1.92
csaf_2_1_tests/6.1.65.1 113619 ns/iter (± 385) 68405 ns/iter (± 4873) 1.66
csaf_2_1_tests/6.1.65.2 111659 ns/iter (± 206) 67382 ns/iter (± 544) 1.66
csaf_2_1_tests/6.1.66 334671 ns/iter (± 5292) 182417 ns/iter (± 6503) 1.83
csaf_2_1_tests/6.2.1 883123 ns/iter (± 6834) 617538 ns/iter (± 3337) 1.43
csaf_2_1_tests/6.2.2 216012 ns/iter (± 608) 139565 ns/iter (± 9013) 1.55
csaf_2_1_tests/6.2.3 114765 ns/iter (± 3192) 70796 ns/iter (± 4109) 1.62
csaf_2_1_tests/6.2.4 104062 ns/iter (± 547) 55958 ns/iter (± 388) 1.86
csaf_2_1_tests/6.2.5 283182 ns/iter (± 827) 149562 ns/iter (± 7495) 1.89
csaf_2_1_tests/6.2.6 288984 ns/iter (± 2550) 153512 ns/iter (± 491) 1.88
csaf_2_1_tests/6.2.8 248299 ns/iter (± 4954) 156029 ns/iter (± 1400) 1.59
csaf_2_1_tests/6.2.9 247684 ns/iter (± 569) 155770 ns/iter (± 568) 1.59
csaf_2_1_tests/6.2.11 262317 ns/iter (± 1590) 158516 ns/iter (± 1700) 1.65
csaf_2_1_tests/6.2.12 521560 ns/iter (± 2752) 293934 ns/iter (± 24618) 1.77
csaf_2_1_tests/6.2.13 5821082 ns/iter (± 242488) 3905126 ns/iter (± 43599) 1.49
csaf_2_1_tests/6.2.14 172407 ns/iter (± 399) 125074 ns/iter (± 9580) 1.38
csaf_2_1_tests/6.2.15 155451 ns/iter (± 287) 109737 ns/iter (± 5877) 1.42
csaf_2_1_tests/6.2.16 341001 ns/iter (± 3822) 257113 ns/iter (± 13541) 1.33
csaf_2_1_tests/6.2.17 111882 ns/iter (± 405) 71867 ns/iter (± 1669) 1.56
csaf_2_1_tests/6.2.18 209137 ns/iter (± 2610) 137624 ns/iter (± 9497) 1.52
csaf_2_1_tests/6.2.19 214904 ns/iter (± 3072) 128593 ns/iter (± 924) 1.67
csaf_2_1_tests/6.2.20 2217156 ns/iter (± 77385) 1626250 ns/iter (± 30511) 1.36
csaf_2_1_tests/6.2.21 461844 ns/iter (± 6381) 273033 ns/iter (± 2113) 1.69
csaf_2_1_tests/6.2.22 233210 ns/iter (± 1392) 138305 ns/iter (± 950) 1.69
csaf_2_1_tests/6.2.23 120832 ns/iter (± 2134) 76385 ns/iter (± 487) 1.58
csaf_2_1_tests/6.2.24 311649 ns/iter (± 17252) 200619 ns/iter (± 14150) 1.55
csaf_2_1_tests/6.2.25 122800 ns/iter (± 700) 78740 ns/iter (± 3818) 1.56
csaf_2_1_tests/6.2.26 119254 ns/iter (± 981) 77918 ns/iter (± 683) 1.53
csaf_2_1_tests/6.2.27 208959 ns/iter (± 664) 128044 ns/iter (± 1076) 1.63
csaf_2_1_tests/6.2.28 102351 ns/iter (± 525) 66688 ns/iter (± 611) 1.53
csaf_2_1_tests/6.2.29 101731 ns/iter (± 311) 76220 ns/iter (± 3165) 1.33
csaf_2_1_tests/6.2.30 105225 ns/iter (± 1292) 67362 ns/iter (± 848) 1.56
csaf_2_1_tests/6.2.31 285745 ns/iter (± 820) 194411 ns/iter (± 2753) 1.47
csaf_2_1_tests/6.2.32 476252 ns/iter (± 1410) 302363 ns/iter (± 582) 1.58
csaf_2_1_tests/6.2.33 325584 ns/iter (± 2373) 199983 ns/iter (± 12957) 1.63
csaf_2_1_tests/6.2.34 576270 ns/iter (± 3373) 363524 ns/iter (± 4539) 1.59
csaf_2_1_tests/6.2.35 523222 ns/iter (± 7157) 325000 ns/iter (± 835) 1.61
csaf_2_1_tests/6.2.36 532851 ns/iter (± 3884) 328755 ns/iter (± 1152) 1.62
csaf_2_1_tests/6.2.37 561249 ns/iter (± 1933) 350309 ns/iter (± 9542) 1.60
csaf_2_1_tests/6.2.38 148329 ns/iter (± 772) 87997 ns/iter (± 240) 1.69
csaf_2_1_tests/6.2.39.1 81560 ns/iter (± 241) 47636 ns/iter (± 129) 1.71
csaf_2_1_tests/6.2.39.2 97312 ns/iter (± 457) 58393 ns/iter (± 3181) 1.67
csaf_2_1_tests/6.2.39.3 101847 ns/iter (± 413) 67440 ns/iter (± 5486) 1.51
csaf_2_1_tests/6.2.39.4 484910 ns/iter (± 987) 260852 ns/iter (± 2921) 1.86
csaf_2_1_tests/6.2.39.5 96231 ns/iter (± 228) 56365 ns/iter (± 2294) 1.71
csaf_2_1_tests/6.2.39.6 97690 ns/iter (± 497) 61621 ns/iter (± 4023) 1.59
csaf_2_1_tests/6.2.39.7 95543 ns/iter (± 201) 57426 ns/iter (± 3265) 1.66
csaf_2_1_tests/6.2.39.8 96862 ns/iter (± 301) 57043 ns/iter (± 456) 1.70
csaf_2_1_tests/6.2.39.9 94839 ns/iter (± 125) 55552 ns/iter (± 128) 1.71
csaf_2_1_tests/6.2.39.10 99141 ns/iter (± 710) 57730 ns/iter (± 4041) 1.72
csaf_2_1_tests/6.2.39.11 99165 ns/iter (± 232) 57304 ns/iter (± 336) 1.73
csaf_2_1_tests/6.2.39.12 95648 ns/iter (± 400) 58620 ns/iter (± 785) 1.63
csaf_2_1_tests/6.2.39.13 95394 ns/iter (± 1415) 55817 ns/iter (± 4103) 1.71
csaf_2_1_tests/6.2.40 142676 ns/iter (± 1147) 96040 ns/iter (± 1284) 1.49
csaf_2_1_tests/6.2.41 268384 ns/iter (± 780) 163666 ns/iter (± 9934) 1.64
csaf_2_1_tests/6.2.42 235468 ns/iter (± 1014) 156433 ns/iter (± 557) 1.51
csaf_2_1_tests/6.2.43 549132 ns/iter (± 3280) 317334 ns/iter (± 18439) 1.73
csaf_2_1_tests/6.2.44 122825 ns/iter (± 770) 81958 ns/iter (± 3478) 1.50
csaf_2_1_tests/6.2.45 126748 ns/iter (± 685) 85921 ns/iter (± 437) 1.48
csaf_2_1_tests/6.2.46 135291 ns/iter (± 714) 96933 ns/iter (± 3078) 1.40
csaf_2_1_tests/6.2.47 379071 ns/iter (± 1882) 227008 ns/iter (± 1642) 1.67
csaf_2_1_tests/6.2.48 239083 ns/iter (± 2169) 156906 ns/iter (± 629) 1.52
csaf_2_1_tests/6.2.49 103106 ns/iter (± 170) 79179 ns/iter (± 2434) 1.30
csaf_2_1_tests/6.2.50.1 82887 ns/iter (± 231) 49135 ns/iter (± 3425) 1.69
csaf_2_1_tests/6.2.50.2 83139 ns/iter (± 562) 48408 ns/iter (± 1704) 1.72
csaf_2_1_tests/6.2.50.3 83464 ns/iter (± 618) 48467 ns/iter (± 345) 1.72
csaf_2_1_tests/6.2.51 105775 ns/iter (± 7220) 70083 ns/iter (± 222) 1.51
csaf_2_1_tests/6.2.52 276924 ns/iter (± 2169) 204738 ns/iter (± 10598) 1.35
csaf_2_1_tests/6.2.53 121270 ns/iter (± 3600) 77273 ns/iter (± 1271) 1.57
csaf_2_1_tests/6.2.54.1 83175 ns/iter (± 926) 48448 ns/iter (± 2496) 1.72
csaf_2_1_tests/6.2.54.2 83522 ns/iter (± 111) 48393 ns/iter (± 470) 1.73
csaf_2_1_tests/6.2.54.3 83742 ns/iter (± 201) 49251 ns/iter (± 494) 1.70
csaf_2_1_tests/6.2.54.4 83910 ns/iter (± 119) 50233 ns/iter (± 470) 1.67
csaf_2_1_tests/6.2.55 106459 ns/iter (± 182) 71185 ns/iter (± 239) 1.50
csaf_2_1_tests/6.2.56.1 84043 ns/iter (± 428) 49311 ns/iter (± 5893) 1.70
csaf_2_1_tests/6.2.56.2 93253 ns/iter (± 201) 56339 ns/iter (± 5629) 1.66
csaf_2_1_tests/6.2.56.3 123017 ns/iter (± 376) 73318 ns/iter (± 385) 1.68
csaf_2_1_tests/6.2.56.4 84971 ns/iter (± 153) 51411 ns/iter (± 196) 1.65
csaf_2_1_tests/6.2.56.5 84866 ns/iter (± 477) 55867 ns/iter (± 2937) 1.52
csaf_2_1_tests/6.2.57 143095 ns/iter (± 549) 93576 ns/iter (± 1064) 1.53
csaf_2_1_tests/6.3.1 249115 ns/iter (± 1417) 156571 ns/iter (± 9602) 1.59
csaf_2_1_tests/6.3.2 116740 ns/iter (± 275) 69586 ns/iter (± 634) 1.68
csaf_2_1_tests/6.3.3 573769 ns/iter (± 1249) 332196 ns/iter (± 9819) 1.73
csaf_2_1_tests/6.3.4 189586 ns/iter (± 1365) 122331 ns/iter (± 9928) 1.55
csaf_2_1_tests/6.3.5 255580 ns/iter (± 1028) 163315 ns/iter (± 1972) 1.56
csaf_2_1_tests/6.3.6 83241 ns/iter (± 855) 48773 ns/iter (± 255) 1.71
csaf_2_1_tests/6.3.7 83669 ns/iter (± 2161) 47122 ns/iter (± 354) 1.78
csaf_2_1_tests/6.3.8 83654 ns/iter (± 303) 49941 ns/iter (± 3126) 1.68
csaf_2_1_tests/6.3.9 272837 ns/iter (± 826) 183367 ns/iter (± 847) 1.49
csaf_2_1_tests/6.3.10 220765 ns/iter (± 3044) 163830 ns/iter (± 9242) 1.35
csaf_2_1_tests/6.3.11 217413 ns/iter (± 508) 140861 ns/iter (± 1062) 1.54
csaf_2_1_tests/6.3.12 308876 ns/iter (± 14585) 197888 ns/iter (± 3490) 1.56
csaf_2_1_tests/6.3.13 112215 ns/iter (± 125) 72770 ns/iter (± 409) 1.54
csaf_2_1_tests/6.3.14 172332 ns/iter (± 1108) 117100 ns/iter (± 1097) 1.47
csaf_2_1_tests/6.3.15 172422 ns/iter (± 430) 119716 ns/iter (± 8159) 1.44
csaf_2_1_tests/6.3.16 108679 ns/iter (± 854) 76829 ns/iter (± 4624) 1.41
csaf_2_1_tests/6.3.17 108680 ns/iter (± 185) 84600 ns/iter (± 4670) 1.28
csaf_2_1_tests/6.3.18 123622 ns/iter (± 243) 83833 ns/iter (± 2975) 1.47
csaf_2_1_tests/6.3.19.1 89731 ns/iter (± 1895) 54324 ns/iter (± 106) 1.65
csaf_2_1_tests/6.3.19.2 87254 ns/iter (± 904) 51788 ns/iter (± 331) 1.68
csaf_2_1_tests/6.3.19.3 88230 ns/iter (± 275) 58829 ns/iter (± 2223) 1.50
csaf_2_1_tests/6.3.19.4 87303 ns/iter (± 249) 51249 ns/iter (± 913) 1.70
csaf_2_1_tests/6.3.19.5 90626 ns/iter (± 623) 51374 ns/iter (± 280) 1.76
csaf_2_1_tests/6.3.20 130574 ns/iter (± 1943) 88638 ns/iter (± 393) 1.47
csaf_2_1_tests/6.3.21.1 253939 ns/iter (± 726) 165623 ns/iter (± 697) 1.53
csaf_2_1_tests/6.3.21.2 86142 ns/iter (± 126) 49758 ns/iter (± 668) 1.73
csaf_2_1_tests/6.3.21.3 89027 ns/iter (± 694) 52781 ns/iter (± 164) 1.69
csaf_2_1_tests/6.3.21.4 189025 ns/iter (± 475) 120304 ns/iter (± 991) 1.57
csaf_2_1_tests/6.3.21.5 91504 ns/iter (± 394) 55605 ns/iter (± 2057) 1.65
csaf_2_1_tests/6.3.21.6 90076 ns/iter (± 738) 54609 ns/iter (± 182) 1.65
csaf_2_1_tests/6.3.21.7 95167 ns/iter (± 234) 60180 ns/iter (± 239) 1.58
csaf_2_1_tests/6.3.21.8 91858 ns/iter (± 890) 56123 ns/iter (± 235) 1.64
csaf_2_1_tests/6.3.21.9 93431 ns/iter (± 712) 62962 ns/iter (± 3930) 1.48
csaf_2_1_tests/6.3.22 123180 ns/iter (± 690) 84370 ns/iter (± 222) 1.46
csaf_2_1_tests/6.3.23.1 103042 ns/iter (± 477) 63914 ns/iter (± 188) 1.61
csaf_2_1_tests/6.3.23.2 105172 ns/iter (± 739) 63191 ns/iter (± 284) 1.66
csaf_2_1_tests/6.3.24 111194 ns/iter (± 263) 76388 ns/iter (± 655) 1.46
csaf_2_1_tests/6.3.25 110727 ns/iter (± 652) 91127 ns/iter (± 5078) 1.22
csaf_2_1_tests/6.3.26.1 176769 ns/iter (± 1522) 110715 ns/iter (± 4955) 1.60
csaf_2_1_tests/6.3.26.2 96702 ns/iter (± 1977) 58381 ns/iter (± 140) 1.66
csaf_2_1_tests/6.3.26.3 96052 ns/iter (± 531) 58912 ns/iter (± 100) 1.63
csaf_2_1_tests/6.3.26.4 110451 ns/iter (± 433) 66006 ns/iter (± 93) 1.67
full_validation/csaf_2_0_full_preset 6456140 ns/iter (± 216343) 3958799 ns/iter (± 61744) 1.63
full_validation/csaf_2_1_full_preset 84805295 ns/iter (± 978861) 62950929 ns/iter (± 2362239) 1.35
parse_only/csaf_2_0 1175370 ns/iter (± 2674) 828556 ns/iter (± 2386) 1.42
parse_only/csaf_2_1 8053502 ns/iter (± 276668) 5711864 ns/iter (± 52464) 1.41
typed_parse/csaf_2_0 2061255 ns/iter (± 13233) 1452093 ns/iter (± 11962) 1.42
typed_parse/csaf_2_1 13838406 ns/iter (± 154819) 9823500 ns/iter (± 660002) 1.41

This comment was automatically generated by workflow using github-action-benchmark.

@Gronner Gronner left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

In general, this seems to be three times an almost identical implementation, if possible refactor it into a single one? and then just call that function with the relevant value as parameter?

@tziemek
tziemek requested a review from Gronner November 5, 2026 14:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues are recorded for the converter deduplication changes.

No open issues 🎉

Review effort: Balanced

@peinjoh
peinjoh requested review from aschierl-xitaso and a balanced review from Copilot November 10, 2026 11:24
@peinjoh

peinjoh commented Nov 10, 2026

Copy link
Copy Markdown
Contributor Author

LGTM 👍

@tziemek thank you for the fix, feel free to approve and merge!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues block approval of the order-preserving product-identifier deduplication change.

No open issues 🎉

Review effort: Balanced

@Gronner Gronner left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@github-actions github-actions Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'CSAF Validation Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.50.

Benchmark suite Current: e55c259 Previous: 7884893 Ratio
csaf_2_0_tests/6.1.1 132282 ns/iter (± 862) 81579 ns/iter (± 339) 1.62
csaf_2_0_tests/6.1.2 56426 ns/iter (± 120) 36539 ns/iter (± 248) 1.54
csaf_2_0_tests/6.1.3 19754 ns/iter (± 25) 11575 ns/iter (± 134) 1.71
csaf_2_0_tests/6.1.4 31798 ns/iter (± 297) 20158 ns/iter (± 161) 1.58
csaf_2_0_tests/6.1.5 18821 ns/iter (± 116) 10812 ns/iter (± 78) 1.74
csaf_2_0_tests/6.1.6 44661 ns/iter (± 199) 27278 ns/iter (± 289) 1.64
csaf_2_0_tests/6.1.7 38243 ns/iter (± 185) 24699 ns/iter (± 168) 1.55
csaf_2_0_tests/6.1.8 56960 ns/iter (± 455) 33496 ns/iter (± 215) 1.70
csaf_2_0_tests/6.1.9 65109 ns/iter (± 265) 40701 ns/iter (± 213) 1.60
csaf_2_0_tests/6.1.10 60458 ns/iter (± 370) 38080 ns/iter (± 379) 1.59
csaf_2_0_tests/6.1.11 19465 ns/iter (± 22) 11447 ns/iter (± 49) 1.70
csaf_2_0_tests/6.1.13 38356 ns/iter (± 203) 24198 ns/iter (± 91) 1.59
csaf_2_0_tests/6.1.15 102882 ns/iter (± 371) 63518 ns/iter (± 854) 1.62
csaf_2_0_tests/6.1.16 55162 ns/iter (± 358) 34795 ns/iter (± 2381) 1.59
csaf_2_0_tests/6.1.17 19027 ns/iter (± 42) 11205 ns/iter (± 682) 1.70
csaf_2_0_tests/6.1.18 21158 ns/iter (± 24) 12543 ns/iter (± 91) 1.69
csaf_2_0_tests/6.1.19 21026 ns/iter (± 57) 12627 ns/iter (± 675) 1.67
csaf_2_0_tests/6.1.20 18769 ns/iter (± 98) 10959 ns/iter (± 524) 1.71
csaf_2_0_tests/6.1.21 105755 ns/iter (± 288) 68661 ns/iter (± 437) 1.54
csaf_2_0_tests/6.1.22 65485 ns/iter (± 1566) 40444 ns/iter (± 2070) 1.62
csaf_2_0_tests/6.1.23 21059 ns/iter (± 256) 12678 ns/iter (± 68) 1.66
csaf_2_0_tests/6.1.24 21115 ns/iter (± 73) 13051 ns/iter (± 88) 1.62
csaf_2_0_tests/6.1.25 41938 ns/iter (± 293) 27461 ns/iter (± 119) 1.53
csaf_2_0_tests/6.1.26 21805 ns/iter (± 728) 13309 ns/iter (± 152) 1.64
csaf_2_0_tests/6.1.27.1 18650 ns/iter (± 102) 10878 ns/iter (± 488) 1.71
csaf_2_0_tests/6.1.27.2 74127 ns/iter (± 209) 46759 ns/iter (± 421) 1.59
csaf_2_0_tests/6.1.27.3 18215 ns/iter (± 53) 10905 ns/iter (± 667) 1.67
csaf_2_0_tests/6.1.27.4 18950 ns/iter (± 58) 10975 ns/iter (± 26) 1.73
csaf_2_0_tests/6.1.27.5 19677 ns/iter (± 196) 11790 ns/iter (± 75) 1.67
csaf_2_0_tests/6.1.27.6 18091 ns/iter (± 57) 11255 ns/iter (± 159) 1.61
csaf_2_0_tests/6.1.27.7 17735 ns/iter (± 162) 10454 ns/iter (± 121) 1.70
csaf_2_0_tests/6.1.27.8 18908 ns/iter (± 92) 11355 ns/iter (± 84) 1.67
csaf_2_0_tests/6.1.27.9 32334 ns/iter (± 189) 20978 ns/iter (± 76) 1.54
csaf_2_0_tests/6.1.27.10 18956 ns/iter (± 163) 11299 ns/iter (± 114) 1.68
csaf_2_0_tests/6.1.27.11 18200 ns/iter (± 19) 10359 ns/iter (± 57) 1.76
csaf_2_0_tests/6.1.29 17876 ns/iter (± 174) 11094 ns/iter (± 75) 1.61
csaf_2_0_tests/6.1.30 49333 ns/iter (± 613) 30558 ns/iter (± 132) 1.61
csaf_2_0_tests/6.1.32 18522 ns/iter (± 116) 10950 ns/iter (± 137) 1.69
csaf_2_0_tests/6.1.33 26432 ns/iter (± 284) 16738 ns/iter (± 142) 1.58
csaf_2_0_tests/6.2.2 46203 ns/iter (± 238) 29093 ns/iter (± 289) 1.59
csaf_2_0_tests/6.2.3 22233 ns/iter (± 169) 14000 ns/iter (± 199) 1.59
csaf_2_0_tests/6.2.4 21131 ns/iter (± 50) 13238 ns/iter (± 792) 1.60
csaf_2_0_tests/6.2.5 60405 ns/iter (± 325) 38345 ns/iter (± 757) 1.58
csaf_2_0_tests/6.2.6 61303 ns/iter (± 178) 38654 ns/iter (± 2360) 1.59
csaf_2_0_tests/6.2.7 18083 ns/iter (± 36) 10829 ns/iter (± 43) 1.67
csaf_2_0_tests/6.2.8 40118 ns/iter (± 80) 26211 ns/iter (± 1898) 1.53
csaf_2_0_tests/6.2.10 43763 ns/iter (± 215) 28896 ns/iter (± 626) 1.51
csaf_2_0_tests/6.2.17 19916 ns/iter (± 138) 12000 ns/iter (± 658) 1.66
csaf_2_0_tests/6.2.18 31072 ns/iter (± 148) 19672 ns/iter (± 177) 1.58
csaf_2_0_tests/6.2.19 53484 ns/iter (± 196) 32436 ns/iter (± 310) 1.65
csaf_2_0_tests/6.2.20 243244 ns/iter (± 1262) 148001 ns/iter (± 999) 1.64
csaf_2_0_tests/6.3.2 26002 ns/iter (± 377) 16312 ns/iter (± 181) 1.59
csaf_2_0_tests/6.3.5 42108 ns/iter (± 340) 26572 ns/iter (± 857) 1.58
csaf_2_0_tests/6.3.6 17392 ns/iter (± 62) 10170 ns/iter (± 508) 1.71
csaf_2_0_tests/6.3.7 17985 ns/iter (± 75) 9880 ns/iter (± 85) 1.82
csaf_2_0_tests/6.3.8 17609 ns/iter (± 55) 11584 ns/iter (± 901) 1.52
csaf_2_0_tests/6.3.9 40023 ns/iter (± 284) 26590 ns/iter (± 444) 1.51
csaf_2_0_tests/6.3.10 31493 ns/iter (± 265) 20672 ns/iter (± 96) 1.52
csaf_2_1_tests/6.1.2 332558 ns/iter (± 1166) 215188 ns/iter (± 891) 1.55
csaf_2_1_tests/6.1.3 125093 ns/iter (± 197) 77932 ns/iter (± 460) 1.61
csaf_2_1_tests/6.1.4 175070 ns/iter (± 669) 105773 ns/iter (± 410) 1.66
csaf_2_1_tests/6.1.5 87999 ns/iter (± 460) 51155 ns/iter (± 71) 1.72
csaf_2_1_tests/6.1.6 178788 ns/iter (± 394) 104241 ns/iter (± 264) 1.72
csaf_2_1_tests/6.1.8 426686 ns/iter (± 1488) 252868 ns/iter (± 2866) 1.69
csaf_2_1_tests/6.1.9 515109 ns/iter (± 3226) 330511 ns/iter (± 826) 1.56
csaf_2_1_tests/6.1.11 113698 ns/iter (± 565) 69342 ns/iter (± 744) 1.64
csaf_2_1_tests/6.1.13 262567 ns/iter (± 454) 171823 ns/iter (± 1621) 1.53
csaf_2_1_tests/6.1.14 309923 ns/iter (± 3038) 182904 ns/iter (± 1088) 1.69
csaf_2_1_tests/6.1.16 238651 ns/iter (± 5644) 138213 ns/iter (± 3822) 1.73
csaf_2_1_tests/6.1.17 93661 ns/iter (± 1179) 52204 ns/iter (± 261) 1.79
csaf_2_1_tests/6.1.18 108289 ns/iter (± 601) 58025 ns/iter (± 4590) 1.87
csaf_2_1_tests/6.1.19 107702 ns/iter (± 225) 58690 ns/iter (± 906) 1.84
csaf_2_1_tests/6.1.20 91421 ns/iter (± 317) 52193 ns/iter (± 2738) 1.75
csaf_2_1_tests/6.1.21 426589 ns/iter (± 517) 265692 ns/iter (± 631) 1.61
csaf_2_1_tests/6.1.22 276868 ns/iter (± 727) 181070 ns/iter (± 6305) 1.53
csaf_2_1_tests/6.1.23 100289 ns/iter (± 771) 62361 ns/iter (± 3692) 1.61
csaf_2_1_tests/6.1.24 262084 ns/iter (± 1628) 166606 ns/iter (± 608) 1.57
csaf_2_1_tests/6.1.26 116505 ns/iter (± 655) 71634 ns/iter (± 4482) 1.63
csaf_2_1_tests/6.1.27.1 89204 ns/iter (± 1131) 52247 ns/iter (± 2626) 1.71
csaf_2_1_tests/6.1.27.2 449846 ns/iter (± 19996) 249586 ns/iter (± 2797) 1.80
csaf_2_1_tests/6.1.27.3 91074 ns/iter (± 309) 53192 ns/iter (± 233) 1.71
csaf_2_1_tests/6.1.27.4 93981 ns/iter (± 1213) 54283 ns/iter (± 99) 1.73
csaf_2_1_tests/6.1.27.5 93880 ns/iter (± 506) 54721 ns/iter (± 3976) 1.72
csaf_2_1_tests/6.1.27.6 87694 ns/iter (± 673) 55796 ns/iter (± 3342) 1.57
csaf_2_1_tests/6.1.27.7 87633 ns/iter (± 641) 51295 ns/iter (± 4233) 1.71
csaf_2_1_tests/6.1.27.8 102946 ns/iter (± 921) 62431 ns/iter (± 3553) 1.65
csaf_2_1_tests/6.1.27.9 111264 ns/iter (± 5545) 67161 ns/iter (± 584) 1.66
csaf_2_1_tests/6.1.27.10 88886 ns/iter (± 287) 49045 ns/iter (± 359) 1.81
csaf_2_1_tests/6.1.27.11 91104 ns/iter (± 447) 51932 ns/iter (± 1434) 1.75
csaf_2_1_tests/6.1.27.12 92545 ns/iter (± 2595) 55469 ns/iter (± 3911) 1.67
csaf_2_1_tests/6.1.27.13 117312 ns/iter (± 277) 67968 ns/iter (± 738) 1.73
csaf_2_1_tests/6.1.27.14 93227 ns/iter (± 263) 51791 ns/iter (± 406) 1.80
csaf_2_1_tests/6.1.27.15 92594 ns/iter (± 599) 51134 ns/iter (± 3709) 1.81
csaf_2_1_tests/6.1.27.16 93139 ns/iter (± 144) 51708 ns/iter (± 2730) 1.80
csaf_2_1_tests/6.1.27.17 97979 ns/iter (± 176) 56029 ns/iter (± 740) 1.75
csaf_2_1_tests/6.1.27.18 101807 ns/iter (± 514) 58998 ns/iter (± 4178) 1.73
csaf_2_1_tests/6.1.27.19 492055 ns/iter (± 1062) 280387 ns/iter (± 13007) 1.75
csaf_2_1_tests/6.1.27.20 99360 ns/iter (± 264) 57082 ns/iter (± 1985) 1.74
csaf_2_1_tests/6.1.30 234246 ns/iter (± 2077) 124374 ns/iter (± 4753) 1.88
csaf_2_1_tests/6.1.31 247920 ns/iter (± 676) 162399 ns/iter (± 935) 1.53
csaf_2_1_tests/6.1.32 87856 ns/iter (± 336) 53047 ns/iter (± 565) 1.66
csaf_2_1_tests/6.1.33 100670 ns/iter (± 287) 59515 ns/iter (± 499) 1.69
csaf_2_1_tests/6.1.34 103772 ns/iter (± 741) 60255 ns/iter (± 364) 1.72
csaf_2_1_tests/6.1.35 129239 ns/iter (± 782) 78006 ns/iter (± 294) 1.66
csaf_2_1_tests/6.1.36 197898 ns/iter (± 1230) 114443 ns/iter (± 290) 1.73
csaf_2_1_tests/6.1.37 897558 ns/iter (± 4489) 517327 ns/iter (± 12252) 1.73
csaf_2_1_tests/6.1.38 90293 ns/iter (± 187) 52799 ns/iter (± 1928) 1.71
csaf_2_1_tests/6.1.39 90399 ns/iter (± 195) 56010 ns/iter (± 3511) 1.61
csaf_2_1_tests/6.1.40 90554 ns/iter (± 1098) 53214 ns/iter (± 215) 1.70
csaf_2_1_tests/6.1.41 93985 ns/iter (± 172) 62537 ns/iter (± 3918) 1.50
csaf_2_1_tests/6.1.42 276896 ns/iter (± 715) 182781 ns/iter (± 3514) 1.51
csaf_2_1_tests/6.1.43 244792 ns/iter (± 532) 162227 ns/iter (± 11423) 1.51
csaf_2_1_tests/6.1.44 243203 ns/iter (± 3785) 159224 ns/iter (± 10625) 1.53
csaf_2_1_tests/6.1.45 234639 ns/iter (± 2135) 133098 ns/iter (± 932) 1.76
csaf_2_1_tests/6.1.46 256872 ns/iter (± 19899) 162052 ns/iter (± 892) 1.59
csaf_2_1_tests/6.1.47 510057 ns/iter (± 5895) 319127 ns/iter (± 1404) 1.60
csaf_2_1_tests/6.1.48 525047 ns/iter (± 2772) 335220 ns/iter (± 5316) 1.57
csaf_2_1_tests/6.1.49 594371 ns/iter (± 1727) 361055 ns/iter (± 2577) 1.65
csaf_2_1_tests/6.1.50 286860 ns/iter (± 1048) 182745 ns/iter (± 1379) 1.57
csaf_2_1_tests/6.1.51 249304 ns/iter (± 1500) 140375 ns/iter (± 2653) 1.78
csaf_2_1_tests/6.1.52 248065 ns/iter (± 549) 137301 ns/iter (± 222) 1.81
csaf_2_1_tests/6.1.53 100427 ns/iter (± 545) 61664 ns/iter (± 3740) 1.63
csaf_2_1_tests/6.1.54 137881 ns/iter (± 406) 84037 ns/iter (± 713) 1.64
csaf_2_1_tests/6.1.55 138796 ns/iter (± 780) 92038 ns/iter (± 267) 1.51
csaf_2_1_tests/6.1.56 149728 ns/iter (± 3500) 89959 ns/iter (± 354) 1.66
csaf_2_1_tests/6.1.57 195022 ns/iter (± 3299) 126626 ns/iter (± 494) 1.54
csaf_2_1_tests/6.1.58 147302 ns/iter (± 1359) 94633 ns/iter (± 297) 1.56
csaf_2_1_tests/6.1.59 271823 ns/iter (± 270) 176039 ns/iter (± 481) 1.54
csaf_2_1_tests/6.1.60.2 248189 ns/iter (± 818) 163841 ns/iter (± 9081) 1.51
csaf_2_1_tests/6.1.60.3 79873 ns/iter (± 283) 46278 ns/iter (± 874) 1.73
csaf_2_1_tests/6.1.61 253446 ns/iter (± 1044) 161595 ns/iter (± 6421) 1.57
csaf_2_1_tests/6.1.62 250123 ns/iter (± 666) 140430 ns/iter (± 1352) 1.78
csaf_2_1_tests/6.1.63 272916 ns/iter (± 1750) 176581 ns/iter (± 1093) 1.55
csaf_2_1_tests/6.1.64.1 85886 ns/iter (± 664) 50151 ns/iter (± 302) 1.71
csaf_2_1_tests/6.1.64.2 261576 ns/iter (± 350) 166945 ns/iter (± 889) 1.57
csaf_2_1_tests/6.1.64.3 86765 ns/iter (± 444) 49988 ns/iter (± 3268) 1.74
csaf_2_1_tests/6.1.64.4 134739 ns/iter (± 264) 80152 ns/iter (± 4510) 1.68
csaf_2_1_tests/6.1.64.5 119795 ns/iter (± 651) 69825 ns/iter (± 609) 1.72
csaf_2_1_tests/6.1.64.6 102084 ns/iter (± 2514) 66862 ns/iter (± 3925) 1.53
csaf_2_1_tests/6.1.64.7 92514 ns/iter (± 342) 59115 ns/iter (± 3955) 1.56
csaf_2_1_tests/6.1.64.8 87526 ns/iter (± 787) 51089 ns/iter (± 727) 1.71
csaf_2_1_tests/6.1.64.9 99839 ns/iter (± 212) 58720 ns/iter (± 260) 1.70
csaf_2_1_tests/6.1.64.10 100784 ns/iter (± 128) 57944 ns/iter (± 944) 1.74
csaf_2_1_tests/6.1.64.11 136467 ns/iter (± 3390) 88632 ns/iter (± 7049) 1.54
csaf_2_1_tests/6.1.64.12 112860 ns/iter (± 764) 66095 ns/iter (± 1274) 1.71
csaf_2_1_tests/6.1.64.13 94063 ns/iter (± 328) 48938 ns/iter (± 396) 1.92
csaf_2_1_tests/6.1.65.1 113619 ns/iter (± 385) 68405 ns/iter (± 4873) 1.66
csaf_2_1_tests/6.1.65.2 111659 ns/iter (± 206) 67382 ns/iter (± 544) 1.66
csaf_2_1_tests/6.1.66 334671 ns/iter (± 5292) 182417 ns/iter (± 6503) 1.83
csaf_2_1_tests/6.2.2 216012 ns/iter (± 608) 139565 ns/iter (± 9013) 1.55
csaf_2_1_tests/6.2.3 114765 ns/iter (± 3192) 70796 ns/iter (± 4109) 1.62
csaf_2_1_tests/6.2.4 104062 ns/iter (± 547) 55958 ns/iter (± 388) 1.86
csaf_2_1_tests/6.2.5 283182 ns/iter (± 827) 149562 ns/iter (± 7495) 1.89
csaf_2_1_tests/6.2.6 288984 ns/iter (± 2550) 153512 ns/iter (± 491) 1.88
csaf_2_1_tests/6.2.8 248299 ns/iter (± 4954) 156029 ns/iter (± 1400) 1.59
csaf_2_1_tests/6.2.9 247684 ns/iter (± 569) 155770 ns/iter (± 568) 1.59
csaf_2_1_tests/6.2.11 262317 ns/iter (± 1590) 158516 ns/iter (± 1700) 1.65
csaf_2_1_tests/6.2.12 521560 ns/iter (± 2752) 293934 ns/iter (± 24618) 1.77
csaf_2_1_tests/6.2.17 111882 ns/iter (± 405) 71867 ns/iter (± 1669) 1.56
csaf_2_1_tests/6.2.18 209137 ns/iter (± 2610) 137624 ns/iter (± 9497) 1.52
csaf_2_1_tests/6.2.19 214904 ns/iter (± 3072) 128593 ns/iter (± 924) 1.67
csaf_2_1_tests/6.2.21 461844 ns/iter (± 6381) 273033 ns/iter (± 2113) 1.69
csaf_2_1_tests/6.2.22 233210 ns/iter (± 1392) 138305 ns/iter (± 950) 1.69
csaf_2_1_tests/6.2.23 120832 ns/iter (± 2134) 76385 ns/iter (± 487) 1.58
csaf_2_1_tests/6.2.24 311649 ns/iter (± 17252) 200619 ns/iter (± 14150) 1.55
csaf_2_1_tests/6.2.25 122800 ns/iter (± 700) 78740 ns/iter (± 3818) 1.56
csaf_2_1_tests/6.2.26 119254 ns/iter (± 981) 77918 ns/iter (± 683) 1.53
csaf_2_1_tests/6.2.27 208959 ns/iter (± 664) 128044 ns/iter (± 1076) 1.63
csaf_2_1_tests/6.2.28 102351 ns/iter (± 525) 66688 ns/iter (± 611) 1.53
csaf_2_1_tests/6.2.30 105225 ns/iter (± 1292) 67362 ns/iter (± 848) 1.56
csaf_2_1_tests/6.2.32 476252 ns/iter (± 1410) 302363 ns/iter (± 582) 1.58
csaf_2_1_tests/6.2.33 325584 ns/iter (± 2373) 199983 ns/iter (± 12957) 1.63
csaf_2_1_tests/6.2.34 576270 ns/iter (± 3373) 363524 ns/iter (± 4539) 1.59
csaf_2_1_tests/6.2.35 523222 ns/iter (± 7157) 325000 ns/iter (± 835) 1.61
csaf_2_1_tests/6.2.36 532851 ns/iter (± 3884) 328755 ns/iter (± 1152) 1.62
csaf_2_1_tests/6.2.37 561249 ns/iter (± 1933) 350309 ns/iter (± 9542) 1.60
csaf_2_1_tests/6.2.38 148329 ns/iter (± 772) 87997 ns/iter (± 240) 1.69
csaf_2_1_tests/6.2.39.1 81560 ns/iter (± 241) 47636 ns/iter (± 129) 1.71
csaf_2_1_tests/6.2.39.2 97312 ns/iter (± 457) 58393 ns/iter (± 3181) 1.67
csaf_2_1_tests/6.2.39.3 101847 ns/iter (± 413) 67440 ns/iter (± 5486) 1.51
csaf_2_1_tests/6.2.39.4 484910 ns/iter (± 987) 260852 ns/iter (± 2921) 1.86
csaf_2_1_tests/6.2.39.5 96231 ns/iter (± 228) 56365 ns/iter (± 2294) 1.71
csaf_2_1_tests/6.2.39.6 97690 ns/iter (± 497) 61621 ns/iter (± 4023) 1.59
csaf_2_1_tests/6.2.39.7 95543 ns/iter (± 201) 57426 ns/iter (± 3265) 1.66
csaf_2_1_tests/6.2.39.8 96862 ns/iter (± 301) 57043 ns/iter (± 456) 1.70
csaf_2_1_tests/6.2.39.9 94839 ns/iter (± 125) 55552 ns/iter (± 128) 1.71
csaf_2_1_tests/6.2.39.10 99141 ns/iter (± 710) 57730 ns/iter (± 4041) 1.72
csaf_2_1_tests/6.2.39.11 99165 ns/iter (± 232) 57304 ns/iter (± 336) 1.73
csaf_2_1_tests/6.2.39.12 95648 ns/iter (± 400) 58620 ns/iter (± 785) 1.63
csaf_2_1_tests/6.2.39.13 95394 ns/iter (± 1415) 55817 ns/iter (± 4103) 1.71
csaf_2_1_tests/6.2.41 268384 ns/iter (± 780) 163666 ns/iter (± 9934) 1.64
csaf_2_1_tests/6.2.42 235468 ns/iter (± 1014) 156433 ns/iter (± 557) 1.51
csaf_2_1_tests/6.2.43 549132 ns/iter (± 3280) 317334 ns/iter (± 18439) 1.73
csaf_2_1_tests/6.2.47 379071 ns/iter (± 1882) 227008 ns/iter (± 1642) 1.67
csaf_2_1_tests/6.2.48 239083 ns/iter (± 2169) 156906 ns/iter (± 629) 1.52
csaf_2_1_tests/6.2.50.1 82887 ns/iter (± 231) 49135 ns/iter (± 3425) 1.69
csaf_2_1_tests/6.2.50.2 83139 ns/iter (± 562) 48408 ns/iter (± 1704) 1.72
csaf_2_1_tests/6.2.50.3 83464 ns/iter (± 618) 48467 ns/iter (± 345) 1.72
csaf_2_1_tests/6.2.51 105775 ns/iter (± 7220) 70083 ns/iter (± 222) 1.51
csaf_2_1_tests/6.2.53 121270 ns/iter (± 3600) 77273 ns/iter (± 1271) 1.57
csaf_2_1_tests/6.2.54.1 83175 ns/iter (± 926) 48448 ns/iter (± 2496) 1.72
csaf_2_1_tests/6.2.54.2 83522 ns/iter (± 111) 48393 ns/iter (± 470) 1.73
csaf_2_1_tests/6.2.54.3 83742 ns/iter (± 201) 49251 ns/iter (± 494) 1.70
csaf_2_1_tests/6.2.54.4 83910 ns/iter (± 119) 50233 ns/iter (± 470) 1.67
csaf_2_1_tests/6.2.56.1 84043 ns/iter (± 428) 49311 ns/iter (± 5893) 1.70
csaf_2_1_tests/6.2.56.2 93253 ns/iter (± 201) 56339 ns/iter (± 5629) 1.66
csaf_2_1_tests/6.2.56.3 123017 ns/iter (± 376) 73318 ns/iter (± 385) 1.68
csaf_2_1_tests/6.2.56.4 84971 ns/iter (± 153) 51411 ns/iter (± 196) 1.65
csaf_2_1_tests/6.2.56.5 84866 ns/iter (± 477) 55867 ns/iter (± 2937) 1.52
csaf_2_1_tests/6.2.57 143095 ns/iter (± 549) 93576 ns/iter (± 1064) 1.53
csaf_2_1_tests/6.3.1 249115 ns/iter (± 1417) 156571 ns/iter (± 9602) 1.59
csaf_2_1_tests/6.3.2 116740 ns/iter (± 275) 69586 ns/iter (± 634) 1.68
csaf_2_1_tests/6.3.3 573769 ns/iter (± 1249) 332196 ns/iter (± 9819) 1.73
csaf_2_1_tests/6.3.4 189586 ns/iter (± 1365) 122331 ns/iter (± 9928) 1.55
csaf_2_1_tests/6.3.5 255580 ns/iter (± 1028) 163315 ns/iter (± 1972) 1.56
csaf_2_1_tests/6.3.6 83241 ns/iter (± 855) 48773 ns/iter (± 255) 1.71
csaf_2_1_tests/6.3.7 83669 ns/iter (± 2161) 47122 ns/iter (± 354) 1.78
csaf_2_1_tests/6.3.8 83654 ns/iter (± 303) 49941 ns/iter (± 3126) 1.68
csaf_2_1_tests/6.3.11 217413 ns/iter (± 508) 140861 ns/iter (± 1062) 1.54
csaf_2_1_tests/6.3.12 308876 ns/iter (± 14585) 197888 ns/iter (± 3490) 1.56
csaf_2_1_tests/6.3.13 112215 ns/iter (± 125) 72770 ns/iter (± 409) 1.54
csaf_2_1_tests/6.3.19.1 89731 ns/iter (± 1895) 54324 ns/iter (± 106) 1.65
csaf_2_1_tests/6.3.19.2 87254 ns/iter (± 904) 51788 ns/iter (± 331) 1.68
csaf_2_1_tests/6.3.19.4 87303 ns/iter (± 249) 51249 ns/iter (± 913) 1.70
csaf_2_1_tests/6.3.19.5 90626 ns/iter (± 623) 51374 ns/iter (± 280) 1.76
csaf_2_1_tests/6.3.21.1 253939 ns/iter (± 726) 165623 ns/iter (± 697) 1.53
csaf_2_1_tests/6.3.21.2 86142 ns/iter (± 126) 49758 ns/iter (± 668) 1.73
csaf_2_1_tests/6.3.21.3 89027 ns/iter (± 694) 52781 ns/iter (± 164) 1.69
csaf_2_1_tests/6.3.21.4 189025 ns/iter (± 475) 120304 ns/iter (± 991) 1.57
csaf_2_1_tests/6.3.21.5 91504 ns/iter (± 394) 55605 ns/iter (± 2057) 1.65
csaf_2_1_tests/6.3.21.6 90076 ns/iter (± 738) 54609 ns/iter (± 182) 1.65
csaf_2_1_tests/6.3.21.7 95167 ns/iter (± 234) 60180 ns/iter (± 239) 1.58
csaf_2_1_tests/6.3.21.8 91858 ns/iter (± 890) 56123 ns/iter (± 235) 1.64
csaf_2_1_tests/6.3.23.1 103042 ns/iter (± 477) 63914 ns/iter (± 188) 1.61
csaf_2_1_tests/6.3.23.2 105172 ns/iter (± 739) 63191 ns/iter (± 284) 1.66
csaf_2_1_tests/6.3.26.1 176769 ns/iter (± 1522) 110715 ns/iter (± 4955) 1.60
csaf_2_1_tests/6.3.26.2 96702 ns/iter (± 1977) 58381 ns/iter (± 140) 1.66
csaf_2_1_tests/6.3.26.3 96052 ns/iter (± 531) 58912 ns/iter (± 100) 1.63
csaf_2_1_tests/6.3.26.4 110451 ns/iter (± 433) 66006 ns/iter (± 93) 1.67
full_validation/csaf_2_0_full_preset 6456140 ns/iter (± 216343) 3958799 ns/iter (± 61744) 1.63

This comment was automatically generated by workflow using github-action-benchmark.

@peinjoh
peinjoh merged commit d94b121 into main Nov 10, 2026
18 checks passed
@peinjoh
peinjoh deleted the feat/converter-some-deduplicate-pih branch November 10, 2026 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

converter: ensure unique generic uris converter: ensure unique skus converter: handle non-unique sbom urls

5 participants