Skip to content

Keep metadata during canonicalisation#2341

Merged
jviotti merged 1 commit intomainfrom
keep-metadata
Apr 9, 2026
Merged

Keep metadata during canonicalisation#2341
jviotti merged 1 commit intomainfrom
keep-metadata

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented Apr 9, 2026

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti merged commit 95bc2b8 into main Apr 9, 2026
13 checks passed
@jviotti jviotti deleted the keep-metadata branch April 9, 2026 18:58
@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Apr 9, 2026

🤖 Augment PR Summary

Summary: This PR changes the alterschema canonicaliser to preserve schema metadata instead of stripping it during canonicalisation.

Changes:

  • Removed the NoMetadata canonicaliser rule and its build/registration wiring.
  • Stopped deleting annotation, comment, and unknown keywords as part of canonicalisation.
  • Adjusted 2020-12 canonicalisation expectations to retain metadata (e.g., title, contentEncoding, contentMediaType, contentSchema).
  • Deleted the test cases that previously asserted metadata was removed.

Technical Notes: Canonicalised output will now include non-validation keywords, which may affect consumers that relied on metadata-free canonical schemas.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@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 suggestion posted.

Fix All in Augment

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


const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "My schema",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Now that canonicalisation preserves metadata (via removal of NoMetadata), consider reintroducing a few of the removed no_metadata_* cases as positive tests that $comment, description, and unknown keywords are retained (including nested subschemas) to keep this behavior covered.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Copy link
Copy Markdown

@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: f202c7b Previous: 53a1888 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.6183674776937913 ns/iter 1.761148578662857 ns/iter 0.92
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.6200354384250042 ns/iter 1.8417340342895299 ns/iter 0.88
Regex_Period_Asterisk 1.597316446113467 ns/iter 1.6941186416023961 ns/iter 0.94
Regex_Group_Period_Asterisk_Group 1.6195897010628129 ns/iter 1.6847244214158463 ns/iter 0.96
Regex_Period_Plus 1.8823959289949392 ns/iter 2.1002026924615644 ns/iter 0.90
Regex_Period 1.8858779336579388 ns/iter 2.0792338062017377 ns/iter 0.91
Regex_Caret_Period_Plus_Dollar 1.9220031454375641 ns/iter 2.077082144864504 ns/iter 0.93
Regex_Caret_Group_Period_Plus_Group_Dollar 1.9105482824256275 ns/iter 2.1059663535667856 ns/iter 0.91
Regex_Caret_Period_Asterisk_Dollar 1.6427994186032777 ns/iter 1.732134694716024 ns/iter 0.95
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.6528502058669847 ns/iter 1.8849108028396115 ns/iter 0.88
Regex_Caret_X_Hyphen 6.292148064118869 ns/iter 6.648850056669222 ns/iter 0.95
Regex_Period_Md_Dollar 18.77642750538908 ns/iter 20.662196998015194 ns/iter 0.91
Regex_Caret_Slash_Period_Asterisk 4.537844563568317 ns/iter 4.834273330307589 ns/iter 0.94
Regex_Caret_Period_Range_Dollar 1.7006849485464235 ns/iter 1.809960133986429 ns/iter 0.94
Regex_Nested_Backtrack 24.859488404489536 ns/iter 25.732299573927044 ns/iter 0.97
JSON_Array_Of_Objects_Unique 346.6668249788072 ns/iter 375.78585860411636 ns/iter 0.92
JSON_Parse_1 4036.908979434099 ns/iter 4215.869315104811 ns/iter 0.96
JSON_Parse_Real 6808.869102473111 ns/iter 6615.029130505907 ns/iter 1.03
JSON_Parse_Decimal 8680.276825495193 ns/iter 8331.757087912336 ns/iter 1.04
JSON_Parse_Schema_ISO_Language 4187014.2045455207 ns/iter 4176153.037036907 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 64.1871653293543 ns/iter 64.78592930969943 ns/iter 0.99
JSON_Equality_Helm_Chart_Lock 167.6503249544164 ns/iter 160.18548793806562 ns/iter 1.05
JSON_Divisible_By_Decimal 194.7263865922628 ns/iter 183.01342274021587 ns/iter 1.06
JSON_String_Equal/10 7.703300012933285 ns/iter 6.924435467850643 ns/iter 1.11
JSON_String_Equal/100 7.026778161104307 ns/iter 6.56102592687938 ns/iter 1.07
JSON_String_Equal_Small_By_Perfect_Hash/10 0.8165264776618517 ns/iter 0.7649560260886762 ns/iter 1.07
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.7054080373621177 ns/iter 3.3396739025554805 ns/iter 1.11
JSON_String_Fast_Hash/10 2.8016528021170317 ns/iter 2.392688979873828 ns/iter 1.17
JSON_String_Fast_Hash/100 2.426453587488856 ns/iter 2.0674242402945713 ns/iter 1.17
JSON_String_Key_Hash/10 1.5670147794687765 ns/iter 1.4350235707677668 ns/iter 1.09
JSON_String_Key_Hash/100 2.5104657075718064 ns/iter 2.190509952297973 ns/iter 1.15
JSON_Object_Defines_Miss_Same_Length 2.6236007927504383 ns/iter 2.355120683368236 ns/iter 1.11
JSON_Object_Defines_Miss_Too_Small 2.5947814580092965 ns/iter 2.3821419570407736 ns/iter 1.09
JSON_Object_Defines_Miss_Too_Large 3.121073649873406 ns/iter 2.4206270527667644 ns/iter 1.29
Pointer_Object_Traverse 19.60369941077847 ns/iter 16.997500254377307 ns/iter 1.15
Pointer_Object_Try_Traverse 23.675084894929252 ns/iter 21.37694632443445 ns/iter 1.11
Pointer_Push_Back_Pointer_To_Weak_Pointer 163.93418656273016 ns/iter 161.94266333560407 ns/iter 1.01
Pointer_Walker_Schema_ISO_Language 5004070.560000097 ns/iter 4463576.257861396 ns/iter 1.12
Pointer_Maybe_Tracked_Deeply_Nested/0 1267315.3114185291 ns/iter 1235953.5606836476 ns/iter 1.03
Pointer_Maybe_Tracked_Deeply_Nested/1 1546074.71940912 ns/iter 1586132.8585462654 ns/iter 0.97
Pointer_Position_Tracker_Get_Deeply_Nested 451.19727157759803 ns/iter 386.22753498682175 ns/iter 1.17
Schema_Frame_WoT_References 5300170.235714827 ns/iter 5045776.268115583 ns/iter 1.05
Schema_Frame_OMC_References 30667474.34615116 ns/iter 26094757.740742758 ns/iter 1.18
Schema_Frame_OMC_Locations 23685565.958336007 ns/iter 24826614.607146017 ns/iter 0.95
Schema_Frame_ISO_Language_Locations 81185439.77778043 ns/iter 75831505.12499514 ns/iter 1.07
Schema_Frame_KrakenD_References 51470253.41667207 ns/iter 45018611.99999979 ns/iter 1.14
Schema_Frame_KrakenD_Reachable 391297812.5000563 ns/iter 438754666.5000173 ns/iter 0.89
Schema_Iterator_ISO_Language 1919767.4501426192 ns/iter 2077575.3949579075 ns/iter 0.92
Schema_Frame_ISO_Language_Locations_To_JSON 82645203.12499712 ns/iter 72805713.00000499 ns/iter 1.14
Schema_Tracker_ISO_Language 9888155.632351674 ns/iter 9287175.217949448 ns/iter 1.06
Schema_Tracker_ISO_Language_To_JSON 14727833.333329462 ns/iter 14937507.653060641 ns/iter 0.99
Schema_Format_ISO_Language_To_JSON 79923800.77775529 ns/iter 78515346.99998158 ns/iter 1.02
Schema_Bundle_Meta_2020_12 1419847.5573799915 ns/iter 1395410.5236433465 ns/iter 1.02
Schema_Frame_Many_Resources_References 311046062.5000542 ns/iter 265118763.99998376 ns/iter 1.17
Alterschema_Check_Readibility_ISO_Language_Set_3 145741483.39997917 ns/iter 147904400.0000158 ns/iter 0.99
Alterschema_Check_Readibility_OMC 41241029.150000945 ns/iter 31701736.727272462 ns/iter 1.30
Alterschema_Apply_Readibility_KrakenD 650053999.9999546 ns/iter 427757915.99996185 ns/iter 1.52
Alterschema_Check_Invalid_External_Refs 75661546.33332188 ns/iter 64917522.7272694 ns/iter 1.17
EditorSchema_ForEditor_EmbeddedResources 10829903.70689615 ns/iter 10871521.716412917 ns/iter 1.00
URITemplateRouter_Create 16940.99912853161 ns/iter 15817.333240105887 ns/iter 1.07
URITemplateRouter_Match 166.5696227989787 ns/iter 165.26991979503572 ns/iter 1.01
URITemplateRouter_Match_BasePath 200.07278730160397 ns/iter 193.98140983102115 ns/iter 1.03
URITemplateRouterView_Restore 13713.115335508099 ns/iter 14697.175892766281 ns/iter 0.93
URITemplateRouterView_Match 139.43070641920522 ns/iter 129.45464802127003 ns/iter 1.08
URITemplateRouterView_Match_BasePath 139.21232735707406 ns/iter 147.39650257764947 ns/iter 0.94
URITemplateRouterView_Arguments 381.8032819237021 ns/iter 450.6885397651375 ns/iter 0.85
HTML_Build_Table_100000 60373961.74999306 ns/iter 69388295.90000068 ns/iter 0.87
HTML_Render_Table_100000 5013976.214591673 ns/iter 2787576.923076766 ns/iter 1.80

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

Copy link
Copy Markdown

@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: f202c7b Previous: 53a1888 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.111702435953019 ns/iter 2.0663224042160806 ns/iter 1.51
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1104362915794805 ns/iter 2.0177906513742268 ns/iter 1.54
Regex_Period_Asterisk 3.110113659128499 ns/iter 2.0180390244114825 ns/iter 1.54
Regex_Group_Period_Asterisk_Group 3.109674377779112 ns/iter 2.01730489867409 ns/iter 1.54
Regex_Period_Plus 3.1102523120767 ns/iter 2.3162112602144913 ns/iter 1.34
Regex_Period 3.2189611754426886 ns/iter 2.305269562770997 ns/iter 1.40
Regex_Caret_Period_Plus_Dollar 2.883345194272057 ns/iter 2.308896859254345 ns/iter 1.25
Regex_Caret_Group_Period_Plus_Group_Dollar 3.2097058384910895 ns/iter 2.307828545891703 ns/iter 1.39
Regex_Caret_Period_Asterisk_Dollar 3.85175760888665 ns/iter 2.04900597103575 ns/iter 1.88
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.7344393322541256 ns/iter 2.026194674787379 ns/iter 1.84
Regex_Caret_X_Hyphen 10.270983279131869 ns/iter 8.658638574659966 ns/iter 1.19
Regex_Period_Md_Dollar 27.66674201433312 ns/iter 25.224121178038896 ns/iter 1.10
Regex_Caret_Slash_Period_Asterisk 6.535439817983971 ns/iter 9.049528066422269 ns/iter 0.72
Regex_Caret_Period_Range_Dollar 4.049119799269038 ns/iter 2.324815488463343 ns/iter 1.74
Regex_Nested_Backtrack 49.17371661821332 ns/iter 44.24337038596032 ns/iter 1.11
JSON_Array_Of_Objects_Unique 387.40549882612726 ns/iter 345.40730005080354 ns/iter 1.12
JSON_Parse_1 5834.996114622127 ns/iter 5092.407920705965 ns/iter 1.15
JSON_Parse_Real 10805.593009278551 ns/iter 10257.238664636441 ns/iter 1.05
JSON_Parse_Decimal 11881.786382636168 ns/iter 9943.905513486907 ns/iter 1.19
JSON_Parse_Schema_ISO_Language 3578438.287179499 ns/iter 3208437.6342593427 ns/iter 1.12
JSON_Fast_Hash_Helm_Chart_Lock 53.532973199113044 ns/iter 48.957973048363385 ns/iter 1.09
JSON_Equality_Helm_Chart_Lock 160.95649205129402 ns/iter 139.93654766075986 ns/iter 1.15
JSON_Divisible_By_Decimal 245.95206820814292 ns/iter 255.7593548232735 ns/iter 0.96
JSON_String_Equal/10 6.232172001832078 ns/iter 4.609148286224667 ns/iter 1.35
JSON_String_Equal/100 6.85034141272656 ns/iter 5.76447477529441 ns/iter 1.19
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9357323849075947 ns/iter 0.6916128512724797 ns/iter 1.35
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.268510239098259 ns/iter 9.508413247719501 ns/iter 1.08
JSON_String_Fast_Hash/10 2.4894395512842946 ns/iter 2.0179439274583664 ns/iter 1.23
JSON_String_Fast_Hash/100 2.4959976087070954 ns/iter 2.023991953876743 ns/iter 1.23
JSON_String_Key_Hash/10 2.1793780773914673 ns/iter 1.7291699756436842 ns/iter 1.26
JSON_String_Key_Hash/100 6.539972514148793 ns/iter 6.62405769343461 ns/iter 0.99
JSON_Object_Defines_Miss_Same_Length 3.737861583118668 ns/iter 3.408741061551359 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Small 3.738236822397352 ns/iter 3.556439613644174 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Large 3.7379149411602044 ns/iter 3.410799137531841 ns/iter 1.10
Pointer_Object_Traverse 25.409262602543013 ns/iter 24.321926968753782 ns/iter 1.04
Pointer_Object_Try_Traverse 27.943467474314204 ns/iter 28.3415398487861 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 155.68347138302406 ns/iter 176.31022498891699 ns/iter 0.88
Pointer_Walker_Schema_ISO_Language 3050702.343347724 ns/iter 3051477.951754677 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/0 1449997.3409091248 ns/iter 1125650.2728733423 ns/iter 1.29
Pointer_Maybe_Tracked_Deeply_Nested/1 1758364.8936708781 ns/iter 2055214.6647227446 ns/iter 0.86
Pointer_Position_Tracker_Get_Deeply_Nested 652.2870929395023 ns/iter 719.483922726216 ns/iter 0.91
Schema_Frame_WoT_References 5073552.642336198 ns/iter 4583357.546052687 ns/iter 1.11
Schema_Frame_OMC_References 20739277.647060268 ns/iter 19788361.628574032 ns/iter 1.05
Schema_Frame_OMC_Locations 19071794.837837055 ns/iter 17986233.564101893 ns/iter 1.06
Schema_Frame_ISO_Language_Locations 93886460.71428347 ns/iter 92282126.00000265 ns/iter 1.02
Schema_Frame_KrakenD_References 37432877.73683709 ns/iter 37873197.55555371 ns/iter 0.99
Schema_Frame_KrakenD_Reachable 549602979.0000421 ns/iter 764119901.9999477 ns/iter 0.72
Schema_Iterator_ISO_Language 2267125.8488748693 ns/iter 2141213.5957446736 ns/iter 1.06
Schema_Frame_ISO_Language_Locations_To_JSON 114027465.39999953 ns/iter 113671065.60001048 ns/iter 1.00
Schema_Tracker_ISO_Language 4706986.610738372 ns/iter 4707517.527396878 ns/iter 1.00
Schema_Tracker_ISO_Language_To_JSON 18840223.32432311 ns/iter 19612355.28571511 ns/iter 0.96
Schema_Format_ISO_Language_To_JSON 99807124.00001343 ns/iter 99549377.4285673 ns/iter 1.00
Schema_Bundle_Meta_2020_12 1668936.0849469616 ns/iter 1533682.8967020256 ns/iter 1.09
Schema_Frame_Many_Resources_References 366883852.4999955 ns/iter 368937340.49999696 ns/iter 0.99
Alterschema_Check_Readibility_ISO_Language_Set_3 207298347.3333352 ns/iter 187885157.75000292 ns/iter 1.10
Alterschema_Check_Readibility_OMC 32917567.61904621 ns/iter 31222402.81818346 ns/iter 1.05
Alterschema_Apply_Readibility_KrakenD 574819117.9999367 ns/iter 536716995.00000614 ns/iter 1.07
Alterschema_Check_Invalid_External_Refs 118427763.66667825 ns/iter 94436614.12500149 ns/iter 1.25
EditorSchema_ForEditor_EmbeddedResources 13911523.739996027 ns/iter 12478882.732141627 ns/iter 1.11
URITemplateRouter_Create 16578.945378349064 ns/iter 12529.379914944982 ns/iter 1.32
URITemplateRouter_Match 173.58401590789612 ns/iter 138.4861691776845 ns/iter 1.25
URITemplateRouter_Match_BasePath 204.39096487144766 ns/iter 156.89234059651588 ns/iter 1.30
URITemplateRouterView_Restore 5079.350905916115 ns/iter 2480.9278932247253 ns/iter 2.05
URITemplateRouterView_Match 142.72019314099046 ns/iter 142.91272468951325 ns/iter 1.00
URITemplateRouterView_Match_BasePath 164.31183407237938 ns/iter 158.02740846515752 ns/iter 1.04
URITemplateRouterView_Arguments 433.81213162777954 ns/iter 426.7303388716929 ns/iter 1.02
HTML_Build_Table_100000 63408506.81817756 ns/iter 70908386.3999922 ns/iter 0.89
HTML_Render_Table_100000 5668017.341666124 ns/iter 9670044.945205392 ns/iter 0.59

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

Copy link
Copy Markdown

@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: f202c7b Previous: 53a1888 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.121503906250165 ns/iter 2.913862900485264 ns/iter 1.41
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.091520185876495 ns/iter 3.03835700486036 ns/iter 1.35
Regex_Period_Asterisk 4.406176874999801 ns/iter 3.2416883928557843 ns/iter 1.36
Regex_Group_Period_Asterisk_Group 4.10473225263253 ns/iter 2.7932138826808246 ns/iter 1.47
Regex_Period_Plus 4.710151785715766 ns/iter 3.21813750502909 ns/iter 1.46
Regex_Period 4.764871215993401 ns/iter 3.2098955357144274 ns/iter 1.48
Regex_Caret_Period_Plus_Dollar 4.429534999999873 ns/iter 2.921649505015859 ns/iter 1.52
Regex_Caret_Group_Period_Plus_Group_Dollar 4.425518749999924 ns/iter 2.935299393388518 ns/iter 1.51
Regex_Caret_Period_Asterisk_Dollar 4.111680051985742 ns/iter 2.8358738826615077 ns/iter 1.45
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.1034784448275685 ns/iter 3.0275189468383186 ns/iter 1.36
Regex_Caret_X_Hyphen 7.286257812500553 ns/iter 5.954987499998358 ns/iter 1.22
Regex_Period_Md_Dollar 35.00660556915033 ns/iter 31.200227678575793 ns/iter 1.12
Regex_Caret_Slash_Period_Asterisk 6.927991071427592 ns/iter 5.596941964284951 ns/iter 1.24
Regex_Caret_Period_Range_Dollar 4.087681919643212 ns/iter 3.7072114219498125 ns/iter 1.10
Regex_Nested_Backtrack 97.19382155385709 ns/iter 91.74054501161794 ns/iter 1.06
JSON_Array_Of_Objects_Unique 465.3380726201402 ns/iter 392.3418526787157 ns/iter 1.19
JSON_Parse_1 8051.199776785621 ns/iter 8397.894652258714 ns/iter 0.96
JSON_Parse_Real 15934.352678575537 ns/iter 18213.31712805134 ns/iter 0.87
JSON_Parse_Decimal 15897.415178568304 ns/iter 17091.97637510578 ns/iter 0.93
JSON_Parse_Schema_ISO_Language 5920391.071427389 ns/iter 27136827.678568967 ns/iter 0.22
JSON_Fast_Hash_Helm_Chart_Lock 58.16437499999795 ns/iter 1129.8540000000655 ns/iter 0.051479549570116655
JSON_Equality_Helm_Chart_Lock 264.3195787643273 ns/iter 673.2225000000653 ns/iter 0.39
JSON_Divisible_By_Decimal 249.34364285716777 ns/iter 317.41024155966375 ns/iter 0.79
JSON_String_Equal/10 12.290207142858176 ns/iter 15.427826785712893 ns/iter 0.80
JSON_String_Equal/100 12.933985714283835 ns/iter 17.722308035713144 ns/iter 0.73
JSON_String_Equal_Small_By_Perfect_Hash/10 1.8902616981162335 ns/iter 1.6200865625009442 ns/iter 1.17
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.911397933430809 ns/iter 12.071083928576952 ns/iter 1.07
JSON_String_Fast_Hash/10 3.137892830618603 ns/iter 2.9870117464050967 ns/iter 1.05
JSON_String_Fast_Hash/100 3.1566621163081936 ns/iter 2.0863777436732462 ns/iter 1.51
JSON_String_Key_Hash/10 4.102962053572158 ns/iter 2.953822900468488 ns/iter 1.39
JSON_String_Key_Hash/100 14.388454623263929 ns/iter 14.84850127299617 ns/iter 0.97
JSON_Object_Defines_Miss_Same_Length 5.054478571427775 ns/iter 4.747325469807756 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Small 3.7773733861111167 ns/iter 3.895861607143201 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Large 3.773865528975097 ns/iter 3.5524897704425826 ns/iter 1.06
Pointer_Object_Traverse 44.13418686277165 ns/iter 38.91257609084392 ns/iter 1.13
Pointer_Object_Try_Traverse 53.05775892856397 ns/iter 50.23833999998715 ns/iter 1.06
Pointer_Push_Back_Pointer_To_Weak_Pointer 160.16359374998297 ns/iter 183.72326453503052 ns/iter 0.87
Pointer_Walker_Schema_ISO_Language 11520017.187500287 ns/iter 13102779.999999257 ns/iter 0.88
Pointer_Maybe_Tracked_Deeply_Nested/0 1994959.531773102 ns/iter 2226272.3484852193 ns/iter 0.90
Pointer_Maybe_Tracked_Deeply_Nested/1 3111491.9491521074 ns/iter 4020508.9385482767 ns/iter 0.77
Pointer_Position_Tracker_Get_Deeply_Nested 639.4801339284178 ns/iter 531.9363794681339 ns/iter 1.20
Schema_Frame_WoT_References 10198137.333333459 ns/iter 9862054.687502563 ns/iter 1.03
Schema_Frame_OMC_References 44671920.00000371 ns/iter 44916981.81817066 ns/iter 0.99
Schema_Frame_OMC_Locations 41988494.11763791 ns/iter 41922500.000001654 ns/iter 1.00
Schema_Frame_ISO_Language_Locations 199718700.00002432 ns/iter 195827733.33331716 ns/iter 1.02
Schema_Frame_KrakenD_References 96545028.57142688 ns/iter 93970857.14285173 ns/iter 1.03
Schema_Frame_KrakenD_Reachable 523061900.00012976 ns/iter 625525500.0000943 ns/iter 0.84
Schema_Iterator_ISO_Language 5190809.000000627 ns/iter 5975973.999998132 ns/iter 0.87
Schema_Frame_ISO_Language_Locations_To_JSON 290299399.9999808 ns/iter 307077350.0000996 ns/iter 0.95
Schema_Tracker_ISO_Language 16446624.444445966 ns/iter 18259448.780487973 ns/iter 0.90
Schema_Tracker_ISO_Language_To_JSON 49595493.333329916 ns/iter 52253240.00002729 ns/iter 0.95
Schema_Format_ISO_Language_To_JSON 202258966.6667045 ns/iter 196133766.66666225 ns/iter 1.03
Schema_Bundle_Meta_2020_12 2895158.634542661 ns/iter 2837134.939754212 ns/iter 1.02
Schema_Frame_Many_Resources_References 1491322200.0000134 ns/iter 1435492100.000374 ns/iter 1.04
Alterschema_Check_Readibility_ISO_Language_Set_3 322364949.999951 ns/iter 319697499.9998474 ns/iter 1.01
Alterschema_Check_Readibility_OMC 64031745.45454765 ns/iter 61751536.363648154 ns/iter 1.04
Alterschema_Apply_Readibility_KrakenD 1042799000.0000591 ns/iter 926138799.9999897 ns/iter 1.13
Alterschema_Check_Invalid_External_Refs 152070474.99995953 ns/iter 128407383.33337261 ns/iter 1.18
EditorSchema_ForEditor_EmbeddedResources 27914024.0000288 ns/iter 27610016.666623473 ns/iter 1.01
URITemplateRouter_Create 22975.364114236578 ns/iter 21640.765625008386 ns/iter 1.06
URITemplateRouter_Match 212.7966713037499 ns/iter 231.0659375000057 ns/iter 0.92
URITemplateRouter_Match_BasePath 245.89449999999553 ns/iter 260.92864780936435 ns/iter 0.94
URITemplateRouterView_Restore 31399.53125000261 ns/iter 24812.674078857883 ns/iter 1.27
URITemplateRouterView_Match 153.63455357143405 ns/iter 162.53947042229098 ns/iter 0.95
URITemplateRouterView_Match_BasePath 176.5182640525995 ns/iter 189.24489189677803 ns/iter 0.93
URITemplateRouterView_Arguments 444.49744567025976 ns/iter 437.8867500000183 ns/iter 1.02
HTML_Build_Table_100000 84943644.44444121 ns/iter 105500128.57148822 ns/iter 0.81
HTML_Render_Table_100000 7732795.555557459 ns/iter 12374860.714284556 ns/iter 0.62

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

Copy link
Copy Markdown

@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: f202c7b Previous: 53a1888 Ratio
HTML_Build_Table_100000 72795809.3333301 ns/iter 68376563.50000998 ns/iter 1.06
HTML_Render_Table_100000 4933956.863310119 ns/iter 9911984.285716763 ns/iter 0.50
URITemplateRouter_Create 14516.420380060641 ns/iter 11407.099233900046 ns/iter 1.27
URITemplateRouter_Match 171.71547851639068 ns/iter 160.7309541879331 ns/iter 1.07
URITemplateRouter_Match_BasePath 203.79606306422218 ns/iter 178.53060765177165 ns/iter 1.14
URITemplateRouterView_Restore 6379.027062633458 ns/iter 2472.5750705128517 ns/iter 2.58
URITemplateRouterView_Match 132.10118464252233 ns/iter 121.81222898581952 ns/iter 1.08
URITemplateRouterView_Match_BasePath 152.4260804550432 ns/iter 138.9221454570283 ns/iter 1.10
URITemplateRouterView_Arguments 456.71487401552434 ns/iter 497.18884597564465 ns/iter 0.92
EditorSchema_ForEditor_EmbeddedResources 14483161.812497279 ns/iter 12883762.72220746 ns/iter 1.12
Alterschema_Check_Readibility_ISO_Language_Set_3 200334541.66665855 ns/iter 177949570.9999992 ns/iter 1.13
Alterschema_Check_Readibility_OMC 37122178.000004165 ns/iter 32647529.181810405 ns/iter 1.14
Alterschema_Apply_Readibility_KrakenD 597450985.0002505 ns/iter 519256943.99983513 ns/iter 1.15
Alterschema_Check_Invalid_External_Refs 115902258.50000024 ns/iter 91870279.00000544 ns/iter 1.26
Schema_Frame_WoT_References 5679830.887097816 ns/iter 5000600.599998961 ns/iter 1.14
Schema_Frame_OMC_References 23423506.86666729 ns/iter 21386373.4545474 ns/iter 1.10
Schema_Frame_OMC_Locations 22510496.624995824 ns/iter 19434955.028568115 ns/iter 1.16
Schema_Frame_ISO_Language_Locations 101986499.42857887 ns/iter 92532064.12500958 ns/iter 1.10
Schema_Frame_KrakenD_References 42358717.52940939 ns/iter 38353833.61110366 ns/iter 1.10
Schema_Frame_KrakenD_Reachable 596128877.9997176 ns/iter 695245316.9999444 ns/iter 0.86
Schema_Iterator_ISO_Language 2433996.9034481957 ns/iter 2456492.226148563 ns/iter 0.99
Schema_Frame_ISO_Language_Locations_To_JSON 230535233.66669047 ns/iter 198899139.49998572 ns/iter 1.16
Schema_Tracker_ISO_Language 4781538.283784689 ns/iter 4620565.715232556 ns/iter 1.03
Schema_Tracker_ISO_Language_To_JSON 22120801.129029777 ns/iter 23210157.48387459 ns/iter 0.95
Schema_Format_ISO_Language_To_JSON 108780484.42860486 ns/iter 98106685.28569165 ns/iter 1.11
Schema_Bundle_Meta_2020_12 1822529.6901051754 ns/iter 1725870.3022156716 ns/iter 1.06
Schema_Frame_Many_Resources_References 386511930.5000917 ns/iter 358567087.5000915 ns/iter 1.08
Pointer_Object_Traverse 27.05082642254415 ns/iter 26.592319788163703 ns/iter 1.02
Pointer_Object_Try_Traverse 26.796931562997184 ns/iter 27.808393152600004 ns/iter 0.96
Pointer_Push_Back_Pointer_To_Weak_Pointer 176.70088278213024 ns/iter 157.3407921064606 ns/iter 1.12
Pointer_Walker_Schema_ISO_Language 3689247.223958839 ns/iter 3200807.1643831413 ns/iter 1.15
Pointer_Maybe_Tracked_Deeply_Nested/0 1602474.412844362 ns/iter 1389392.9049505224 ns/iter 1.15
Pointer_Maybe_Tracked_Deeply_Nested/1 1810131.095855204 ns/iter 1789708.7168828924 ns/iter 1.01
Pointer_Position_Tracker_Get_Deeply_Nested 418.53320338118533 ns/iter 405.9320093901155 ns/iter 1.03
JSON_Array_Of_Objects_Unique 427.27937623588014 ns/iter 366.4157464371208 ns/iter 1.17
JSON_Parse_1 7894.999966318763 ns/iter 6774.9104642377815 ns/iter 1.17
JSON_Parse_Real 12255.42478818924 ns/iter 10934.89689382797 ns/iter 1.12
JSON_Parse_Decimal 17105.82673206687 ns/iter 14498.176932615432 ns/iter 1.18
JSON_Parse_Schema_ISO_Language 4628056.019867213 ns/iter 4098115.274853743 ns/iter 1.13
JSON_Fast_Hash_Helm_Chart_Lock 66.7222898490324 ns/iter 48.754539340198406 ns/iter 1.37
JSON_Equality_Helm_Chart_Lock 180.96619246377074 ns/iter 141.01329976710215 ns/iter 1.28
JSON_Divisible_By_Decimal 236.0046935283035 ns/iter 254.27132861946149 ns/iter 0.93
JSON_String_Equal/10 6.418228896414415 ns/iter 5.297246633680895 ns/iter 1.21
JSON_String_Equal/100 7.128710864924117 ns/iter 6.454139908741178 ns/iter 1.10
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7093033125460155 ns/iter 0.8262185384271377 ns/iter 0.86
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 23.16165037051875 ns/iter 12.972027484870841 ns/iter 1.79
JSON_String_Fast_Hash/10 1.760819858276117 ns/iter 1.153663580513943 ns/iter 1.53
JSON_String_Fast_Hash/100 1.7620249047300833 ns/iter 1.153608449034268 ns/iter 1.53
JSON_String_Key_Hash/10 1.4074738630646697 ns/iter 1.440790668535243 ns/iter 0.98
JSON_String_Key_Hash/100 14.758563268576667 ns/iter 11.827863532176742 ns/iter 1.25
JSON_Object_Defines_Miss_Same_Length 3.5178812768260497 ns/iter 3.7717052289334014 ns/iter 0.93
JSON_Object_Defines_Miss_Too_Small 3.871364728252662 ns/iter 3.24234732805236 ns/iter 1.19
JSON_Object_Defines_Miss_Too_Large 3.8748266776071705 ns/iter 3.209053801376869 ns/iter 1.21
Regex_Lower_S_Or_Upper_S_Asterisk 1.7598274019866447 ns/iter 1.4410862881652817 ns/iter 1.22
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.407915043009497 ns/iter 1.4412451545682954 ns/iter 0.98
Regex_Period_Asterisk 1.407118900749471 ns/iter 1.4431919693105346 ns/iter 0.98
Regex_Group_Period_Asterisk_Group 1.4085728719242674 ns/iter 1.44182261999947 ns/iter 0.98
Regex_Period_Plus 1.4112331946231809 ns/iter 1.4423559883861001 ns/iter 0.98
Regex_Period 1.4079671847088333 ns/iter 1.441368380017516 ns/iter 0.98
Regex_Caret_Period_Plus_Dollar 1.4085071674708989 ns/iter 1.4408080907484466 ns/iter 0.98
Regex_Caret_Group_Period_Plus_Group_Dollar 1.4077611804546486 ns/iter 1.440747108814618 ns/iter 0.98
Regex_Caret_Period_Asterisk_Dollar 1.4074789186827426 ns/iter 1.4415188621319739 ns/iter 0.98
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.4069614104752517 ns/iter 1.7292660318655704 ns/iter 0.81
Regex_Caret_X_Hyphen 11.601702196641979 ns/iter 8.356962984304095 ns/iter 1.39
Regex_Period_Md_Dollar 34.04530676875662 ns/iter 24.041442719161914 ns/iter 1.42
Regex_Caret_Slash_Period_Asterisk 4.3280966065198685 ns/iter 8.064246622445165 ns/iter 0.54
Regex_Caret_Period_Range_Dollar 1.7585574636802517 ns/iter 1.4409596436570766 ns/iter 1.22
Regex_Nested_Backtrack 51.92174427049088 ns/iter 41.75513992586903 ns/iter 1.24

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.

1 participant