Skip to content

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Jan 23, 2026

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark (linux/llvm)

Details
Benchmark suite Current: da3e246 Previous: 45dd685 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.114276028596599 ns/iter 3.118615808575482 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1081105552583237 ns/iter 3.1089135003581085 ns/iter 1.00
Regex_Period_Asterisk 3.114453859836841 ns/iter 3.1119318087259327 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.108239866942325 ns/iter 3.1127424153867223 ns/iter 1.00
Regex_Period_Plus 3.0820479476396243 ns/iter 2.9782048632927145 ns/iter 1.03
Regex_Period 3.1266463909099684 ns/iter 3.108392997125798 ns/iter 1.01
Regex_Caret_Period_Plus_Dollar 3.1026178437138268 ns/iter 3.1009373141384513 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.0880652059307376 ns/iter 2.94516473370829 ns/iter 1.05
Regex_Caret_Period_Asterisk_Dollar 3.419825988338794 ns/iter 3.419464752001915 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4219193520015825 ns/iter 3.1081703841347976 ns/iter 1.10
Regex_Caret_X_Hyphen 10.262224856312255 ns/iter 13.05651197945317 ns/iter 0.79
Regex_Period_Md_Dollar 27.664440430567 ns/iter 27.640755308213855 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 5.909919296773901 ns/iter 7.156512932238539 ns/iter 0.83
Regex_Caret_Period_Range_Dollar 3.194400390388233 ns/iter 4.0422854551055805 ns/iter 0.79
Regex_Nested_Backtrack 53.635916230011965 ns/iter 53.547927668310045 ns/iter 1.00
JSON_Array_Of_Objects_Unique 442.5007733555969 ns/iter 446.7190833245948 ns/iter 0.99
JSON_Parse_1 29062.859854619455 ns/iter 29102.66767962688 ns/iter 1.00
JSON_Parse_Real 38015.98213318814 ns/iter 37417.64330392951 ns/iter 1.02
JSON_Parse_Decimal 131492.15020651856 ns/iter 129932.7627181469 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 22710085.09677402 ns/iter 22494304.74193647 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 62.62640729639592 ns/iter 61.57149786577776 ns/iter 1.02
JSON_Equality_Helm_Chart_Lock 172.83842104293808 ns/iter 169.41950604265628 ns/iter 1.02
JSON_String_Equal/10 7.158642223668519 ns/iter 6.849389844129114 ns/iter 1.05
JSON_String_Equal/100 7.78379967002594 ns/iter 7.5305088868255 ns/iter 1.03
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9381858690617296 ns/iter 0.9389565948673165 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.261954888421018 ns/iter 14.625833317687576 ns/iter 0.70
JSON_String_Fast_Hash/10 2.487441648088763 ns/iter 2.48864494346698 ns/iter 1.00
JSON_String_Fast_Hash/100 2.493241919275714 ns/iter 2.487679178272588 ns/iter 1.00
JSON_String_Key_Hash/10 2.4951532618134005 ns/iter 2.7047633804830453 ns/iter 0.92
JSON_String_Key_Hash/100 6.530081225227759 ns/iter 9.027940385982093 ns/iter 0.72
JSON_Object_Defines_Miss_Same_Length 3.7351481167601954 ns/iter 3.7373365788504103 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7335520165115943 ns/iter 3.7361601051625577 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.736221124104508 ns/iter 3.735086808126104 ns/iter 1.00
Pointer_Object_Traverse 45.31129846573341 ns/iter 44.122411668840115 ns/iter 1.03
Pointer_Object_Try_Traverse 53.24359456399355 ns/iter 55.663177403251254 ns/iter 0.96
Pointer_Push_Back_Pointer_To_Weak_Pointer 358.10651886171655 ns/iter 305.33504836676536 ns/iter 1.17
Pointer_Walker_Schema_ISO_Language 3224330.3789956793 ns/iter 3226307.466063367 ns/iter 1.00
Schema_Frame_WoT_References 6017556.974137309 ns/iter 6038338.353447599 ns/iter 1.00
Schema_Frame_OMC_References 30758245.82608873 ns/iter 30536062.434783198 ns/iter 1.01
Schema_Frame_OMC_Locations 28994677.416662287 ns/iter 28939904.439998828 ns/iter 1.00
Schema_Frame_ISO_Language_Locations 134169550.19999933 ns/iter 132692419.19999786 ns/iter 1.01
Schema_Iterator_ISO_Language 2316174.3333332837 ns/iter 2380110.7380952747 ns/iter 0.97
Schema_Frame_ISO_Language_Locations_To_JSON 149008369.24999794 ns/iter 136934027.2499926 ns/iter 1.09
Schema_Tracker_ISO_Language 50049748.00000355 ns/iter 50029820.214279294 ns/iter 1.00
Schema_Tracker_ISO_Language_To_JSON 26739259.279997896 ns/iter 26023540.65384396 ns/iter 1.03
Schema_Format_ISO_Language_To_JSON 141166022.80000734 ns/iter 140403658.40003234 ns/iter 1.01
Schema_Bundle_Meta_2020_12 2209097.2405021745 ns/iter 2204612.836989067 ns/iter 1.00
Schema_Frame_Many_Resources_References 277217314.4999783 ns/iter 276519719.0000208 ns/iter 1.00
Alterschema_Check_Readibility_ISO_Language_Set_3 250201297.66664922 ns/iter 245085164.99997768 ns/iter 1.02
Alterschema_Check_Readibility_OMC 37744186.66666356 ns/iter 35981514.89474108 ns/iter 1.05
EditorSchema_ForEditor_EmbeddedResources 15481477.934802411 ns/iter 14781115.60416077 ns/iter 1.05
URITemplateRouter_Create 16380.454378695133 ns/iter 15855.431955075248 ns/iter 1.03
URITemplateRouter_Match 170.319009242522 ns/iter 174.69515879788472 ns/iter 0.97
URITemplateRouterView_Restore 8468.84881384538 ns/iter 8443.986144874063 ns/iter 1.00
URITemplateRouterView_Match 121.20698563110896 ns/iter 120.1669209299445 ns/iter 1.01

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

@jviotti jviotti force-pushed the canonicalizer-updates branch from 877b9c3 to 9f123ed Compare January 23, 2026 20:12
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark (macos/llvm)

Details
Benchmark suite Current: da3e246 Previous: 45dd685 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.6422401245474094 ns/iter 2.657810382888601 ns/iter 0.62
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.640898417338566 ns/iter 2.2821816975537685 ns/iter 0.72
Regex_Period_Asterisk 1.6859633949435555 ns/iter 2.28336261525687 ns/iter 0.74
Regex_Group_Period_Asterisk_Group 1.649637128159552 ns/iter 2.440216536985339 ns/iter 0.68
Regex_Period_Plus 1.97427641736224 ns/iter 3.0514544606203566 ns/iter 0.65
Regex_Period 1.977663247198202 ns/iter 2.8273063791470574 ns/iter 0.70
Regex_Caret_Period_Plus_Dollar 1.9777938127125085 ns/iter 2.8499261856178295 ns/iter 0.69
Regex_Caret_Group_Period_Plus_Group_Dollar 1.8863110339131879 ns/iter 2.7158555656515775 ns/iter 0.69
Regex_Caret_Period_Asterisk_Dollar 1.647166159453562 ns/iter 2.3200412005304467 ns/iter 0.71
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.6764450504965602 ns/iter 2.335321192517451 ns/iter 0.72
Regex_Caret_X_Hyphen 6.316898101858152 ns/iter 8.867708891335669 ns/iter 0.71
Regex_Period_Md_Dollar 20.225121434054575 ns/iter 33.91691663662518 ns/iter 0.60
Regex_Caret_Slash_Period_Asterisk 5.043398018394532 ns/iter 7.727963228145477 ns/iter 0.65
Regex_Caret_Period_Range_Dollar 1.718352456842598 ns/iter 2.8277567173903995 ns/iter 0.61
Regex_Nested_Backtrack 28.26790050011454 ns/iter 44.21926344711495 ns/iter 0.64
JSON_Array_Of_Objects_Unique 345.7111760654935 ns/iter 539.2372090000208 ns/iter 0.64
JSON_Parse_1 21012.0116044852 ns/iter 33134.684637378916 ns/iter 0.63
JSON_Parse_Real 25277.398049643416 ns/iter 37771.8176234358 ns/iter 0.67
JSON_Parse_Decimal 244206.10934025788 ns/iter 370648.63181564043 ns/iter 0.66
JSON_Parse_Schema_ISO_Language 15174219.87233668 ns/iter 24521410.714279618 ns/iter 0.62
JSON_Fast_Hash_Helm_Chart_Lock 56.77303884259628 ns/iter 80.38345040806956 ns/iter 0.71
JSON_Equality_Helm_Chart_Lock 132.91757036730291 ns/iter 213.76194808680285 ns/iter 0.62
JSON_String_Equal/10 7.311180718177921 ns/iter 10.706815968857281 ns/iter 0.68
JSON_String_Equal/100 6.393831890869303 ns/iter 9.433819283061993 ns/iter 0.68
JSON_String_Equal_Small_By_Perfect_Hash/10 0.32908267595752466 ns/iter 0.40459583187593917 ns/iter 0.81
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.167514859210327 ns/iter 5.879083330000866 ns/iter 0.54
JSON_String_Fast_Hash/10 2.305687576921382 ns/iter 3.5004766232810285 ns/iter 0.66
JSON_String_Fast_Hash/100 1.8962328181691999 ns/iter 2.635115713491412 ns/iter 0.72
JSON_String_Key_Hash/10 1.2820404575013402 ns/iter 2.1616391488045834 ns/iter 0.59
JSON_String_Key_Hash/100 2.0529865189933507 ns/iter 3.398076630336797 ns/iter 0.60
JSON_Object_Defines_Miss_Same_Length 2.705642976408379 ns/iter 3.9123286238916894 ns/iter 0.69
JSON_Object_Defines_Miss_Too_Small 2.6782085284332653 ns/iter 3.542213485994417 ns/iter 0.76
JSON_Object_Defines_Miss_Too_Large 2.7188701816099625 ns/iter 4.0503497371300075 ns/iter 0.67
Pointer_Object_Traverse 14.350703049534605 ns/iter 19.586109026224616 ns/iter 0.73
Pointer_Object_Try_Traverse 18.882734288879785 ns/iter 28.102492853307105 ns/iter 0.67
Pointer_Push_Back_Pointer_To_Weak_Pointer 152.99540271791577 ns/iter 212.6573072888467 ns/iter 0.72
Pointer_Walker_Schema_ISO_Language 4058053.4294122113 ns/iter 6415950.068965858 ns/iter 0.63
Schema_Frame_WoT_References 5458461.24030913 ns/iter 8435400.265956888 ns/iter 0.65
Schema_Frame_OMC_References 30418232.95455453 ns/iter 48798544.11765069 ns/iter 0.62
Schema_Frame_OMC_Locations 28954309.78260858 ns/iter 45064250.0000133 ns/iter 0.64
Schema_Frame_ISO_Language_Locations 95720631.00001417 ns/iter 138112808.4000011 ns/iter 0.69
Schema_Iterator_ISO_Language 1945746.0638888178 ns/iter 2779905.4246036084 ns/iter 0.70
Schema_Frame_ISO_Language_Locations_To_JSON 88433874.99999674 ns/iter 129820233.20000735 ns/iter 0.68
Schema_Tracker_ISO_Language 38003675.94444904 ns/iter 63314568.181836374 ns/iter 0.60
Schema_Tracker_ISO_Language_To_JSON 13937375.836734163 ns/iter 21993813.161294207 ns/iter 0.63
Schema_Format_ISO_Language_To_JSON 101567059.28570123 ns/iter 163481729.25000882 ns/iter 0.62
Schema_Bundle_Meta_2020_12 1578166.107375005 ns/iter 2760385.0892293956 ns/iter 0.57
Schema_Frame_Many_Resources_References 219067472.3333359 ns/iter 389114521.00001043 ns/iter 0.56
Alterschema_Check_Readibility_ISO_Language_Set_3 165269645.74995872 ns/iter 256755430.66669586 ns/iter 0.64
Alterschema_Check_Readibility_OMC 36896516.64999474 ns/iter 55797763.83333031 ns/iter 0.66
EditorSchema_ForEditor_EmbeddedResources 12325369.087735899 ns/iter 20420282.200023264 ns/iter 0.60
URITemplateRouter_Create 15758.311536570567 ns/iter 22035.84568088446 ns/iter 0.72
URITemplateRouter_Match 160.0015199364627 ns/iter 246.10333035053708 ns/iter 0.65
URITemplateRouterView_Restore 9818.2884561969 ns/iter 18709.69630520815 ns/iter 0.52
URITemplateRouterView_Match 109.30802722688345 ns/iter 165.4850256090494 ns/iter 0.66

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

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark (windows/msvc)

Details
Benchmark suite Current: da3e246 Previous: 45dd685 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.123965052007408 ns/iter 4.114735632347554 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.100561569822334 ns/iter 4.101215632323765 ns/iter 1.00
Regex_Period_Asterisk 4.443545624999956 ns/iter 4.426278404310059 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 4.098722671252325 ns/iter 4.091570096591536 ns/iter 1.00
Regex_Period_Plus 4.097691158884882 ns/iter 4.089024650158775 ns/iter 1.00
Regex_Period 4.189149605695347 ns/iter 4.103531716918112 ns/iter 1.02
Regex_Caret_Period_Plus_Dollar 3.878890624999798 ns/iter 3.8022107074960285 ns/iter 1.02
Regex_Caret_Group_Period_Plus_Group_Dollar 3.989961761611733 ns/iter 3.784681064670352 ns/iter 1.05
Regex_Caret_Period_Asterisk_Dollar 4.133621047262044 ns/iter 4.093824203739192 ns/iter 1.01
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.092415096593682 ns/iter 4.086243578725397 ns/iter 1.00
Regex_Caret_X_Hyphen 7.879848214284684 ns/iter 7.862168526785292 ns/iter 1.00
Regex_Period_Md_Dollar 35.47973302133476 ns/iter 35.381115388068665 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 7.581606026787162 ns/iter 7.568977678571644 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.09560125731419 ns/iter 4.099708444820985 ns/iter 1.00
Regex_Nested_Backtrack 102.65190624998866 ns/iter 104.64389062498469 ns/iter 0.98
JSON_Array_Of_Objects_Unique 508.404199999859 ns/iter 514.6009337366946 ns/iter 0.99
JSON_Parse_1 73078.0357142992 ns/iter 72883.20312502452 ns/iter 1.00
JSON_Parse_Real 92777.3269050352 ns/iter 93388.0005356772 ns/iter 0.99
JSON_Parse_Decimal 346211.98428296664 ns/iter 330866.8958743019 ns/iter 1.05
JSON_Parse_Schema_ISO_Language 58789450.0000175 ns/iter 59145209.09089498 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 69.10411607143325 ns/iter 70.75228794641524 ns/iter 0.98
JSON_Equality_Helm_Chart_Lock 265.6645140921135 ns/iter 270.20128258030434 ns/iter 0.98
JSON_String_Equal/10 13.072523214284665 ns/iter 12.95994999999753 ns/iter 1.01
JSON_String_Equal/100 14.495952390641547 ns/iter 14.4876153371124 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 1.91629691750412 ns/iter 1.8855995068238753 ns/iter 1.02
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.85900892857025 ns/iter 12.863673214285752 ns/iter 1.00
JSON_String_Fast_Hash/10 3.7906499932309123 ns/iter 3.7730287432635654 ns/iter 1.00
JSON_String_Fast_Hash/100 3.8050891003487424 ns/iter 3.858060825892652 ns/iter 0.99
JSON_String_Key_Hash/10 3.826824636023603 ns/iter 3.7793255289652046 ns/iter 1.01
JSON_String_Key_Hash/100 13.780926500980222 ns/iter 13.786067349166114 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.770451957553688 ns/iter 4.091219457892764 ns/iter 0.92
JSON_Object_Defines_Miss_Too_Small 4.713369653378823 ns/iter 5.012868999999682 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Large 3.7773911324911023 ns/iter 4.140498212437791 ns/iter 0.91
Pointer_Object_Traverse 57.11464285714182 ns/iter 57.912446428563925 ns/iter 0.99
Pointer_Object_Try_Traverse 69.55183928572036 ns/iter 83.63905133929198 ns/iter 0.83
Pointer_Push_Back_Pointer_To_Weak_Pointer 149.95595982141603 ns/iter 163.12541940568866 ns/iter 0.92
Pointer_Walker_Schema_ISO_Language 9792518.666666485 ns/iter 9979239.06249909 ns/iter 0.98
Schema_Frame_WoT_References 11411604.687499022 ns/iter 11687789.062502673 ns/iter 0.98
Schema_Frame_OMC_References 57082040.00000024 ns/iter 60579809.090892345 ns/iter 0.94
Schema_Frame_OMC_Locations 54368245.45453915 ns/iter 55887918.181807354 ns/iter 0.97
Schema_Frame_ISO_Language_Locations 246093433.3333474 ns/iter 255523333.33333385 ns/iter 0.96
Schema_Iterator_ISO_Language 4215612.209302594 ns/iter 4455656.493507388 ns/iter 0.95
Schema_Frame_ISO_Language_Locations_To_JSON 262486900.00003687 ns/iter 265803133.33329287 ns/iter 0.99
Schema_Tracker_ISO_Language 102444300.00000192 ns/iter 102904033.33332658 ns/iter 1.00
Schema_Tracker_ISO_Language_To_JSON 54230436.36363384 ns/iter 55371500.00000937 ns/iter 0.98
Schema_Format_ISO_Language_To_JSON 254638699.99991098 ns/iter 262889733.3332437 ns/iter 0.97
Schema_Bundle_Meta_2020_12 4202175.000003194 ns/iter 4254456.976734355 ns/iter 0.99
Schema_Frame_Many_Resources_References 520752099.9999815 ns/iter 544010699.9999443 ns/iter 0.96
Alterschema_Check_Readibility_ISO_Language_Set_3 369583250.0000051 ns/iter 381278150.00007105 ns/iter 0.97
Alterschema_Check_Readibility_OMC 66096333.33333579 ns/iter 69780088.88889538 ns/iter 0.95
EditorSchema_ForEditor_EmbeddedResources 26477988.461517897 ns/iter 26913097.05880271 ns/iter 0.98
URITemplateRouter_Create 21842.968750000582 ns/iter 22603.184116243818 ns/iter 0.97
URITemplateRouter_Match 206.52074747677264 ns/iter 209.15193749999617 ns/iter 0.99
URITemplateRouterView_Restore 31109.581399700433 ns/iter 32876.51525804672 ns/iter 0.95
URITemplateRouterView_Match 139.88092679103127 ns/iter 140.944124999984 ns/iter 0.99

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

@jviotti jviotti force-pushed the canonicalizer-updates branch 3 times, most recently from 36600ad to e2ef020 Compare January 23, 2026 20:57
@jviotti jviotti changed the title [WIP] Misc canonicalizer improvements Misc canonicalizer improvements Jan 23, 2026
@jviotti jviotti marked this pull request as ready for review January 23, 2026 20:58
@augmentcode
Copy link

augmentcode bot commented Jan 23, 2026

🤖 Augment PR Summary

Summary: Improves the alterschema canonicalizer/linter normalization of boolean/empty schemas and unsatisfiable applicator branches.

Changes:

  • Removes the `BooleanTrue` canonicalizer rule so “match-all” schemas can remain as boolean true instead of being rewritten to {}.
  • Adds `ItemsImplicit` to make typed arrays explicit by inserting "items": true when missing (for draft-06+ and modern vocabularies).
  • Adds new applicator simplifiers: drop false branches from anyOf, simplify anyOf/oneOf that are solely false, and simplify allOf containing false into "not": true.
  • Adds `AnyOfTrueSimplify` to remove anyOf when a true/{} branch makes it tautological.
  • Adds `EmptyObjectAsTrue` and `UnsatisfiableDropValidation` to normalize {}true (where supported) and drop redundant validation/applicator keywords next to "not": true while preserving identifiers/anchors.
  • Updates canonicalization and lint tests across drafts to reflect the new normalization behavior.

Technical Notes: Several rules now rely on SchemaFrame reference tracking to avoid rewriting schemas when JSON-Pointer-based references would be invalidated.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 1 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the canonicalizer-updates branch from e2ef020 to da3e246 Compare January 23, 2026 21:13
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark (linux/gcc)

Details
Benchmark suite Current: da3e246 Previous: 45dd685 Ratio
URITemplateRouter_Create 14093.44564587434 ns/iter 14673.23859044547 ns/iter 0.96
URITemplateRouter_Match 178.64562014996943 ns/iter 161.12767084144033 ns/iter 1.11
URITemplateRouterView_Restore 8336.515479528873 ns/iter 8125.519475949804 ns/iter 1.03
URITemplateRouterView_Match 116.74647327006046 ns/iter 138.21126135935882 ns/iter 0.84
EditorSchema_ForEditor_EmbeddedResources 15687573.311106462 ns/iter 15557698.488919415 ns/iter 1.01
Alterschema_Check_Readibility_ISO_Language_Set_3 237422971.3332928 ns/iter 234098560.0000446 ns/iter 1.01
Alterschema_Check_Readibility_OMC 36801310.894744396 ns/iter 36171243.894733906 ns/iter 1.02
Schema_Frame_WoT_References 6557048.897197534 ns/iter 6524681.140186556 ns/iter 1.00
Schema_Frame_OMC_References 30537782.82608856 ns/iter 30286918.73913411 ns/iter 1.01
Schema_Frame_OMC_Locations 28523855.59999675 ns/iter 29079462.71999208 ns/iter 0.98
Schema_Frame_ISO_Language_Locations 133504411.20001051 ns/iter 131867317.20002171 ns/iter 1.01
Schema_Iterator_ISO_Language 2627120.40377304 ns/iter 2665758.223485275 ns/iter 0.99
Schema_Frame_ISO_Language_Locations_To_JSON 299202238.3333127 ns/iter 294863235.6666773 ns/iter 1.01
Schema_Tracker_ISO_Language 46948538.57144413 ns/iter 47218283.19999683 ns/iter 0.99
Schema_Tracker_ISO_Language_To_JSON 31506864.954539277 ns/iter 32049602.27272254 ns/iter 0.98
Schema_Format_ISO_Language_To_JSON 145091860.80008477 ns/iter 139050358.8000229 ns/iter 1.04
Schema_Bundle_Meta_2020_12 2440775.5505254287 ns/iter 2413778.513884937 ns/iter 1.01
Schema_Frame_Many_Resources_References 287007524.000046 ns/iter 282149047.9999511 ns/iter 1.02
Pointer_Object_Traverse 47.178403312228035 ns/iter 48.80256371432795 ns/iter 0.97
Pointer_Object_Try_Traverse 22.364774276814813 ns/iter 26.138958654452267 ns/iter 0.86
Pointer_Push_Back_Pointer_To_Weak_Pointer 143.3697104064848 ns/iter 153.67688293419928 ns/iter 0.93
Pointer_Walker_Schema_ISO_Language 3532480.6000005538 ns/iter 3554536.3636360476 ns/iter 0.99
JSON_Array_Of_Objects_Unique 393.5702787048746 ns/iter 409.93135689674136 ns/iter 0.96
JSON_Parse_1 33123.64416563331 ns/iter 33092.93719141653 ns/iter 1.00
JSON_Parse_Real 43514.69369481437 ns/iter 43332.365294847245 ns/iter 1.00
JSON_Parse_Decimal 155393.8688085655 ns/iter 157961.11002944264 ns/iter 0.98
JSON_Parse_Schema_ISO_Language 22239757.870971926 ns/iter 23090090.96666159 ns/iter 0.96
JSON_Fast_Hash_Helm_Chart_Lock 56.6786342999876 ns/iter 58.83695883525596 ns/iter 0.96
JSON_Equality_Helm_Chart_Lock 165.17237965498262 ns/iter 157.02079415742494 ns/iter 1.05
JSON_String_Equal/10 7.506124595420721 ns/iter 6.652823229639932 ns/iter 1.13
JSON_String_Equal/100 8.137905418878328 ns/iter 7.278187337665926 ns/iter 1.12
JSON_String_Equal_Small_By_Perfect_Hash/10 0.933558133046562 ns/iter 0.9358653879294155 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.919557257964284 ns/iter 19.603168962239053 ns/iter 0.76
JSON_String_Fast_Hash/10 1.9041809804425835 ns/iter 1.9040625807593001 ns/iter 1.00
JSON_String_Fast_Hash/100 1.9057366150615984 ns/iter 1.9042104979316203 ns/iter 1.00
JSON_String_Key_Hash/10 1.2460533587339193 ns/iter 1.2451019243938126 ns/iter 1.00
JSON_String_Key_Hash/100 12.43219770298381 ns/iter 12.426774571454501 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.487669187291436 ns/iter 2.5068547389578746 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 2.4864612254691787 ns/iter 2.7979068968824854 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Large 2.48745981327759 ns/iter 2.4909061133912 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.108757329534175 ns/iter 3.4194918539513215 ns/iter 0.91
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.119929812861572 ns/iter 3.421989491360846 ns/iter 0.91
Regex_Period_Asterisk 3.1117840977490037 ns/iter 3.4185833116179953 ns/iter 0.91
Regex_Group_Period_Asterisk_Group 3.110980428265484 ns/iter 3.421590608670404 ns/iter 0.91
Regex_Period_Plus 3.4202448178707017 ns/iter 3.4187829637797433 ns/iter 1.00
Regex_Period 3.4252391021487845 ns/iter 3.419478981976616 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.423123852892693 ns/iter 3.4310211349009463 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.4191398762358913 ns/iter 3.419338016763365 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.354429665070008 ns/iter 4.661181510678883 ns/iter 0.93
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.350272772685454 ns/iter 4.661404779710094 ns/iter 0.93
Regex_Caret_X_Hyphen 13.682354701633148 ns/iter 13.685728552034847 ns/iter 1.00
Regex_Period_Md_Dollar 35.152233982611804 ns/iter 36.75970926095194 ns/iter 0.96
Regex_Caret_Slash_Period_Asterisk 9.025997503124644 ns/iter 9.015576743266646 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.351398922314816 ns/iter 4.6613750624652965 ns/iter 0.93
Regex_Nested_Backtrack 56.56523021128075 ns/iter 61.17687417468392 ns/iter 0.92

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

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark (macos/gcc)

Details
Benchmark suite Current: da3e246 Previous: 45dd685 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2800172624205124 ns/iter 2.9192358646078054 ns/iter 0.78
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.3266081714020266 ns/iter 2.638818450191553 ns/iter 0.88
Regex_Period_Asterisk 2.3125895464771116 ns/iter 2.8276145967527846 ns/iter 0.82
Regex_Group_Period_Asterisk_Group 2.341198914537927 ns/iter 2.678672192717365 ns/iter 0.87
Regex_Period_Plus 2.6052589837026203 ns/iter 2.984061656851112 ns/iter 0.87
Regex_Period 2.5996376649718504 ns/iter 2.907575606262241 ns/iter 0.89
Regex_Caret_Period_Plus_Dollar 2.9645323623954183 ns/iter 2.816622782955905 ns/iter 1.05
Regex_Caret_Group_Period_Plus_Group_Dollar 2.753440564636611 ns/iter 3.073128217984322 ns/iter 0.90
Regex_Caret_Period_Asterisk_Dollar 2.6011571113298575 ns/iter 2.6452221119645953 ns/iter 0.98
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.517984829464562 ns/iter 3.0266217556270374 ns/iter 0.83
Regex_Caret_X_Hyphen 8.056712978734511 ns/iter 8.194390849472414 ns/iter 0.98
Regex_Period_Md_Dollar 27.316917487941357 ns/iter 28.89740067870136 ns/iter 0.95
Regex_Caret_Slash_Period_Asterisk 5.999593974824395 ns/iter 7.860249509924949 ns/iter 0.76
Regex_Caret_Period_Range_Dollar 2.6673541049897858 ns/iter 3.2324971050778166 ns/iter 0.83
Regex_Nested_Backtrack 67.16333611546919 ns/iter 58.285718645368306 ns/iter 1.15
JSON_Array_Of_Objects_Unique 321.723243026048 ns/iter 383.48532861449854 ns/iter 0.84
JSON_Parse_1 27290.876463821194 ns/iter 31717.33771903823 ns/iter 0.86
JSON_Parse_Real 27763.07717460379 ns/iter 30500.118790496315 ns/iter 0.91
JSON_Parse_Decimal 315907.39077039907 ns/iter 359823.90315007546 ns/iter 0.88
JSON_Parse_Schema_ISO_Language 20843793.36413215 ns/iter 26319553.11216157 ns/iter 0.79
JSON_Fast_Hash_Helm_Chart_Lock 36.344657348268406 ns/iter 51.17492942577621 ns/iter 0.71
JSON_Equality_Helm_Chart_Lock 141.0797753603571 ns/iter 149.46248450241146 ns/iter 0.94
JSON_String_Equal/10 6.57036596740543 ns/iter 7.016292066627638 ns/iter 0.94
JSON_String_Equal/100 6.1431422288142805 ns/iter 7.682148827965609 ns/iter 0.80
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9423261895677092 ns/iter 0.9558132526318719 ns/iter 0.99
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.257203062363527 ns/iter 4.191431518901741 ns/iter 1.02
JSON_String_Fast_Hash/10 2.102169126980518 ns/iter 2.0132688296749355 ns/iter 1.04
JSON_String_Fast_Hash/100 2.229312037516717 ns/iter 2.023132863110475 ns/iter 1.10
JSON_String_Key_Hash/10 1.9878597013807906 ns/iter 1.7365341646091 ns/iter 1.14
JSON_String_Key_Hash/100 3.8004055082499093 ns/iter 3.4321464985925463 ns/iter 1.11
JSON_Object_Defines_Miss_Same_Length 2.76387877309288 ns/iter 2.4750711921424737 ns/iter 1.12
JSON_Object_Defines_Miss_Too_Small 2.619161170772586 ns/iter 2.0340121867071694 ns/iter 1.29
JSON_Object_Defines_Miss_Too_Large 2.156731787353831 ns/iter 2.3437087946694417 ns/iter 0.92
Pointer_Object_Traverse 57.899083461185015 ns/iter 67.89947593573679 ns/iter 0.85
Pointer_Object_Try_Traverse 43.727270419050086 ns/iter 52.373487188244255 ns/iter 0.83
Pointer_Push_Back_Pointer_To_Weak_Pointer 172.67996099829057 ns/iter 278.54180246606836 ns/iter 0.62
Pointer_Walker_Schema_ISO_Language 4551352.598728278 ns/iter 5472835.947255619 ns/iter 0.83
Schema_Frame_WoT_References 5936697.37799693 ns/iter 6587681.223134525 ns/iter 0.90
Schema_Frame_OMC_References 34594958.478754215 ns/iter 39320132.31165269 ns/iter 0.88
Schema_Frame_OMC_Locations 39189722.80290392 ns/iter 33124424.162365142 ns/iter 1.18
Schema_Frame_ISO_Language_Locations 148729741.57333374 ns/iter 162311355.27292886 ns/iter 0.92
Schema_Iterator_ISO_Language 2873969.961095739 ns/iter 2423476.052764278 ns/iter 1.19
Schema_Frame_ISO_Language_Locations_To_JSON 234797000.88500977 ns/iter 222517967.2241211 ns/iter 1.06
Schema_Tracker_ISO_Language 57684087.7532959 ns/iter 58378531.38263409 ns/iter 0.99
Schema_Tracker_ISO_Language_To_JSON 34464472.81610398 ns/iter 44638383.95618257 ns/iter 0.77
Schema_Format_ISO_Language_To_JSON 169248485.56518555 ns/iter 163867807.38830566 ns/iter 1.03
Schema_Bundle_Meta_2020_12 2459856.7453149245 ns/iter 2324234.1071623443 ns/iter 1.06
Schema_Frame_Many_Resources_References 522897601.1276245 ns/iter 463139891.6244507 ns/iter 1.13
Alterschema_Check_Readibility_ISO_Language_Set_3 262815316.5181478 ns/iter 318402051.9256592 ns/iter 0.83
Alterschema_Check_Readibility_OMC 49696053.77742223 ns/iter 45609131.45542145 ns/iter 1.09
EditorSchema_ForEditor_EmbeddedResources 19115595.590500604 ns/iter 19365736.416407995 ns/iter 0.99
URITemplateRouter_Create 26636.130409772333 ns/iter 20726.705602516337 ns/iter 1.29
URITemplateRouter_Match 346.896384953101 ns/iter 187.73896976950334 ns/iter 1.85
URITemplateRouterView_Restore 19506.965652059844 ns/iter 13102.636198890901 ns/iter 1.49
URITemplateRouterView_Match 191.37631137255673 ns/iter 124.74531580250286 ns/iter 1.53

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

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.

2 participants