Skip to content

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Jan 15, 2026

Signed-off-by: Juan Cruz Viotti [email protected]

@augmentcode
Copy link

augmentcode bot commented Jan 15, 2026

🤖 Augment PR Summary

Summary: This PR introduces a new sourcemeta::core HTML component that provides HTML string escaping and a small HTML element builder/encoder.

Changes:

  • Added a SOURCEMETA_CORE_HTML CMake option and wired the new component into the top-level build/test configuration.
  • Integrated the new component into package configuration (config.cmake.in) and the find_package packaging test.
  • Implemented html_escape(std::string&) to escape the five special HTML characters in-place.
  • Implemented an HTML encoder/DOM-like API with attributes, children, and a stream operator for rendering.
  • Added a large set of convenience element factories under sourcemeta::core::html (e.g., div(), p(), img(...)) plus raw() for unescaped insertion.
  • Added unit tests covering escaping, attribute rendering, nested structures, and raw HTML behavior.
  • Disabled building the HTML component in website build/deploy workflows.

Technical Notes: Text nodes and attribute values are escaped by default; raw() intentionally bypasses escaping for embedding trusted HTML fragments.

🤖 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. 3 suggestions posted.

Fix All in Augment

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

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: 2338865 Previous: 6866e0e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.1460181878202644 ns/iter 2.039329705008825 ns/iter 1.54
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.107357908102742 ns/iter 2.018621549673938 ns/iter 1.54
Regex_Period_Asterisk 3.1056289385509275 ns/iter 2.0208471385225315 ns/iter 1.54
Regex_Group_Period_Asterisk_Group 3.1054128153847915 ns/iter 2.018308981924447 ns/iter 1.54
Regex_Period_Plus 2.9035431911851166 ns/iter 2.3079340255482026 ns/iter 1.26
Regex_Period 3.1084475295023553 ns/iter 2.305270426333007 ns/iter 1.35
Regex_Caret_Period_Plus_Dollar 2.922798095646361 ns/iter 2.305838191342453 ns/iter 1.27
Regex_Caret_Group_Period_Plus_Group_Dollar 3.1093450641856046 ns/iter 2.305002573140403 ns/iter 1.35
Regex_Caret_Period_Asterisk_Dollar 3.109480289093799 ns/iter 2.017348659954958 ns/iter 1.54
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.1135315535781554 ns/iter 2.018425614021934 ns/iter 1.54
Regex_Caret_X_Hyphen 13.052261887390259 ns/iter 8.639505328633684 ns/iter 1.51
Regex_Period_Md_Dollar 27.4990704581218 ns/iter 25.015584688283766 ns/iter 1.10
Regex_Caret_Slash_Period_Asterisk 6.218747718543131 ns/iter 8.895608472063934 ns/iter 0.70
Regex_Caret_Period_Range_Dollar 3.7293045553201662 ns/iter 2.346603315779081 ns/iter 1.59
Regex_Nested_Backtrack 48.85688278702327 ns/iter 44.05464590303503 ns/iter 1.11
JSON_Array_Of_Objects_Unique 428.38063593067756 ns/iter 346.1832534678603 ns/iter 1.24
JSON_Parse_1 29269.396543026913 ns/iter 27182.502869109194 ns/iter 1.08
JSON_Parse_Real 39216.54607508332 ns/iter 36874.858398232354 ns/iter 1.06
JSON_Parse_Decimal 131024.83392424976 ns/iter 121967.54190625127 ns/iter 1.07
JSON_Fast_Hash_Helm_Chart_Lock 68.20410939969301 ns/iter 46.36488256666742 ns/iter 1.47
JSON_Equality_Helm_Chart_Lock 166.97887843693312 ns/iter 137.33212056552665 ns/iter 1.22
JSON_String_Equal/10 6.847007107842385 ns/iter 4.906637728092537 ns/iter 1.40
JSON_String_Equal/100 7.487343471834954 ns/iter 6.049898621959907 ns/iter 1.24
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9379884601252859 ns/iter 0.6916000479067758 ns/iter 1.36
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.628544201741239 ns/iter 9.55335222865179 ns/iter 1.53
JSON_String_Fast_Hash/10 2.4861160021190805 ns/iter 2.019411847795712 ns/iter 1.23
JSON_String_Fast_Hash/100 2.4945797946044324 ns/iter 2.018448699691387 ns/iter 1.24
JSON_String_Key_Hash/10 2.648600632148462 ns/iter 2.0162508627029956 ns/iter 1.31
JSON_String_Key_Hash/100 9.012728706453158 ns/iter 6.624590619423991 ns/iter 1.36
JSON_Object_Defines_Miss_Same_Length 3.7327555075052334 ns/iter 3.4525431868544407 ns/iter 1.08
JSON_Object_Defines_Miss_Too_Small 3.7334207532774366 ns/iter 3.7061474875856826 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Large 3.7341672231446394 ns/iter 3.402177963042024 ns/iter 1.10
Pointer_Object_Traverse 46.11554628758283 ns/iter 42.956809263483265 ns/iter 1.07
Pointer_Object_Try_Traverse 53.8864280660688 ns/iter 45.846018009168255 ns/iter 1.18
Pointer_Push_Back_Pointer_To_Weak_Pointer 289.44229059544693 ns/iter 241.25305825029906 ns/iter 1.20
Pointer_Walker_Schema_ISO_Language 3145128.2767857187 ns/iter 3059092.8304347824 ns/iter 1.03
Schema_Frame_WoT_References 5728301.147541039 ns/iter 5153760.38235281 ns/iter 1.11
Schema_Frame_OMC_References 28190928.03845863 ns/iter 23889525.17241376 ns/iter 1.18
Schema_Frame_OMC_Locations 25227733.85714215 ns/iter 22464882.96774377 ns/iter 1.12
Schema_Frame_ISO_Language_Locations 123481959.19998944 ns/iter 116176195.66667752 ns/iter 1.06
Schema_Iterator_ISO_Language 2352904.9166666027 ns/iter 2244912.4394906154 ns/iter 1.05
Schema_Frame_ISO_Language_Locations_To_JSON 135959608.25000474 ns/iter 131411272.19998908 ns/iter 1.03
Schema_Tracker_ISO_Language 49460211.42857099 ns/iter 45171113.66666692 ns/iter 1.09
Schema_Tracker_ISO_Language_To_JSON 24340107.448277444 ns/iter 26155807.851852033 ns/iter 0.93
Schema_Format_ISO_Language_To_JSON 131750929.80000046 ns/iter 122539714.16665386 ns/iter 1.08
Schema_Bundle_Meta_2020_12 2177921.4815936233 ns/iter 2066034.2330378692 ns/iter 1.05
Schema_Frame_Many_Resources_References 261531623.99998567 ns/iter 223543291.33334735 ns/iter 1.17
Alterschema_Check_Readibility_ISO_Language_Set_3 239317545.66668436 ns/iter 211426601.66666853 ns/iter 1.13
Alterschema_Check_Readibility_OMC 31921577.45454758 ns/iter 28659594.541669738 ns/iter 1.11
EditorSchema_ForEditor_EmbeddedResources 14116660.612244789 ns/iter 12698899.018183015 ns/iter 1.11
URITemplateRouter_Create 17054.016498560388 ns/iter 14036.296706388976 ns/iter 1.21
URITemplateRouter_Match 181.59254076979178 ns/iter 154.94526110722404 ns/iter 1.17
URITemplateRouterView_Restore 8232.790079047134 ns/iter 3583.3537047960335 ns/iter 2.30
URITemplateRouterView_Match 135.9169355592251 ns/iter 121.81446743875057 ns/iter 1.12

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 (linux/gcc)

Details
Benchmark suite Current: 2338865 Previous: 6866e0e Ratio
URITemplateRouter_Create 14124.153123918713 ns/iter 13923.402673296521 ns/iter 1.01
URITemplateRouter_Match 179.09807575531707 ns/iter 171.69561077311195 ns/iter 1.04
URITemplateRouterView_Restore 8259.68485543597 ns/iter 9237.515670917639 ns/iter 0.89
URITemplateRouterView_Match 115.33062866747731 ns/iter 120.58396261034201 ns/iter 0.96
EditorSchema_ForEditor_EmbeddedResources 14976512.40427505 ns/iter 15442764.636356348 ns/iter 0.97
Alterschema_Check_Readibility_ISO_Language_Set_3 223444529.0000622 ns/iter 228263848.33327517 ns/iter 0.98
Alterschema_Check_Readibility_OMC 34279939.049997665 ns/iter 38366085.55555662 ns/iter 0.89
Schema_Frame_WoT_References 6324629.702703533 ns/iter 6640363.710279858 ns/iter 0.95
Schema_Frame_OMC_References 28755561.608694855 ns/iter 32064079.545452014 ns/iter 0.90
Schema_Frame_OMC_Locations 26799066.96153886 ns/iter 30949621.173911747 ns/iter 0.87
Schema_Frame_ISO_Language_Locations 124715060.83333378 ns/iter 134014969.4000047 ns/iter 0.93
Schema_Iterator_ISO_Language 2536619.8487083367 ns/iter 2648184.870721994 ns/iter 0.96
Schema_Frame_ISO_Language_Locations_To_JSON 300373060.0000078 ns/iter 328814893.0000716 ns/iter 0.91
Schema_Tracker_ISO_Language 47701138.7857179 ns/iter 55110213.692317374 ns/iter 0.87
Schema_Tracker_ISO_Language_To_JSON 34949027.85714008 ns/iter 39108130.38889197 ns/iter 0.89
Schema_Format_ISO_Language_To_JSON 132953246.99988668 ns/iter 144589209.60000795 ns/iter 0.92
Schema_Bundle_Meta_2020_12 2370349.6271113087 ns/iter 2380705.928563119 ns/iter 1.00
Schema_Frame_Many_Resources_References 271320326.9999364 ns/iter 292075630.4999941 ns/iter 0.93
Pointer_Object_Traverse 46.20615337026555 ns/iter 44.15772801511437 ns/iter 1.05
Pointer_Object_Try_Traverse 22.80938839737762 ns/iter 22.394829772422398 ns/iter 1.02
Pointer_Push_Back_Pointer_To_Weak_Pointer 170.06239595499727 ns/iter 166.02756201698944 ns/iter 1.02
Pointer_Walker_Schema_ISO_Language 3202352.8863636455 ns/iter 4101298.6795589845 ns/iter 0.78
JSON_Array_Of_Objects_Unique 422.50124060543095 ns/iter 430.525818576852 ns/iter 0.98
JSON_Parse_1 33234.13875030562 ns/iter 32198.378004974864 ns/iter 1.03
JSON_Parse_Real 44017.0709685527 ns/iter 39289.84113411012 ns/iter 1.12
JSON_Parse_Decimal 156482.46385539233 ns/iter 148679.06618429118 ns/iter 1.05
JSON_Fast_Hash_Helm_Chart_Lock 60.0486218769631 ns/iter 78.05818569275017 ns/iter 0.77
JSON_Equality_Helm_Chart_Lock 161.29612485371933 ns/iter 167.48926072425508 ns/iter 0.96
JSON_String_Equal/10 7.586785610938831 ns/iter 7.871748446672059 ns/iter 0.96
JSON_String_Equal/100 8.210645102164854 ns/iter 8.235239169622504 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6232662475887316 ns/iter 0.7036875181749549 ns/iter 0.89
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 19.575934842145344 ns/iter 18.19799794934796 ns/iter 1.08
JSON_String_Fast_Hash/10 2.313169805221563 ns/iter 2.661946857261772 ns/iter 0.87
JSON_String_Fast_Hash/100 2.316708480847242 ns/iter 2.628745891344262 ns/iter 0.88
JSON_String_Key_Hash/10 1.2456876257815617 ns/iter 1.407978561553584 ns/iter 0.88
JSON_String_Key_Hash/100 12.428696970941955 ns/iter 14.856090257896396 ns/iter 0.84
JSON_Object_Defines_Miss_Same_Length 2.489485159883333 ns/iter 2.8126130101551694 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Small 2.797468848638501 ns/iter 2.8137232013748075 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Large 2.798111072096639 ns/iter 2.8131112587467424 ns/iter 0.99
Regex_Lower_S_Or_Upper_S_Asterisk 3.107871073235256 ns/iter 3.164789820638993 ns/iter 0.98
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1091687937261816 ns/iter 3.1654262128400723 ns/iter 0.98
Regex_Period_Asterisk 3.1101508053235314 ns/iter 3.1675076544683525 ns/iter 0.98
Regex_Group_Period_Asterisk_Group 3.110295690330839 ns/iter 3.16693374775853 ns/iter 0.98
Regex_Period_Plus 2.7987233105292586 ns/iter 3.8671579797669353 ns/iter 0.72
Regex_Period 2.797965906390949 ns/iter 3.8656592000267254 ns/iter 0.72
Regex_Caret_Period_Plus_Dollar 2.8008702061149084 ns/iter 3.866999614225786 ns/iter 0.72
Regex_Caret_Group_Period_Plus_Group_Dollar 2.7988066714290922 ns/iter 3.868203025905292 ns/iter 0.72
Regex_Caret_Period_Asterisk_Dollar 4.0405283957961915 ns/iter 3.1663875008368674 ns/iter 1.28
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.040538275713566 ns/iter 3.1670202526981797 ns/iter 1.28
Regex_Caret_X_Hyphen 13.062855380814753 ns/iter 12.747044795543491 ns/iter 1.02
Regex_Period_Md_Dollar 36.120936009129906 ns/iter 39.39345886151978 ns/iter 0.92
Regex_Caret_Slash_Period_Asterisk 7.771372851526731 ns/iter 8.789503136031428 ns/iter 0.88
Regex_Caret_Period_Range_Dollar 4.042961521519881 ns/iter 3.868906742638499 ns/iter 1.04
Regex_Nested_Backtrack 58.904070392260905 ns/iter 58.20155480330551 ns/iter 1.01

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: 2338865 Previous: 6866e0e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.063166071428774 ns/iter 3.7874501718081555 ns/iter 0.81
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.828542498737864 ns/iter 3.815129614574032 ns/iter 0.74
Regex_Period_Asterisk 2.9372032103523416 ns/iter 4.391473225824684 ns/iter 0.67
Regex_Group_Period_Asterisk_Group 2.9601686121066932 ns/iter 4.079229382284064 ns/iter 0.73
Regex_Period_Plus 2.924278121083206 ns/iter 4.424119999999476 ns/iter 0.66
Regex_Period 2.920410263945651 ns/iter 4.393362500000109 ns/iter 0.66
Regex_Caret_Period_Plus_Dollar 2.655299060129959 ns/iter 4.085883176938827 ns/iter 0.65
Regex_Caret_Group_Period_Plus_Group_Dollar 2.6552717857141164 ns/iter 3.7650916004191974 ns/iter 0.71
Regex_Caret_Period_Asterisk_Dollar 2.94657640230389 ns/iter 4.077726837638819 ns/iter 0.72
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.803141246245791 ns/iter 3.7600239955353536 ns/iter 0.75
Regex_Caret_X_Hyphen 6.124658928572201 ns/iter 7.531177455356745 ns/iter 0.81
Regex_Period_Md_Dollar 30.074994443128322 ns/iter 34.91517428419627 ns/iter 0.86
Regex_Caret_Slash_Period_Asterisk 5.8371719999991 ns/iter 7.209681919643377 ns/iter 0.81
Regex_Caret_Period_Range_Dollar 3.265442410715025 ns/iter 4.087107150155705 ns/iter 0.80
Regex_Nested_Backtrack 92.60536193726068 ns/iter 98.35808935901368 ns/iter 0.94
JSON_Array_Of_Objects_Unique 403.2928302101256 ns/iter 505.40239999997993 ns/iter 0.80
JSON_Parse_1 76265.24553572267 ns/iter 74035.81473214769 ns/iter 1.03
JSON_Parse_Real 99027.48437497167 ns/iter 94521.2936922353 ns/iter 1.05
JSON_Parse_Decimal 322963.80157166085 ns/iter 375624.33035714144 ns/iter 0.86
JSON_Fast_Hash_Helm_Chart_Lock 45.59645361073993 ns/iter 68.58995535714436 ns/iter 0.66
JSON_Equality_Helm_Chart_Lock 243.12707107960952 ns/iter 282.0041710716198 ns/iter 0.86
JSON_String_Equal/10 9.997483883939498 ns/iter 12.48547678571502 ns/iter 0.80
JSON_String_Equal/100 13.512989285711033 ns/iter 14.698641229024078 ns/iter 0.92
JSON_String_Equal_Small_By_Perfect_Hash/10 1.7598097110000195 ns/iter 2.19502468750008 ns/iter 0.80
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.045100406048565 ns/iter 12.60082500000083 ns/iter 0.72
JSON_String_Fast_Hash/10 2.634464194076156 ns/iter 3.8594608859655715 ns/iter 0.68
JSON_String_Fast_Hash/100 2.63043249999961 ns/iter 3.788046957521574 ns/iter 0.69
JSON_String_Key_Hash/10 2.648299841385976 ns/iter 3.7772678571425446 ns/iter 0.70
JSON_String_Key_Hash/100 14.325073214284396 ns/iter 16.609634040562618 ns/iter 0.86
JSON_Object_Defines_Miss_Same_Length 5.040572321429895 ns/iter 4.735372478735675 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Small 4.229782029361189 ns/iter 3.7716557075508748 ns/iter 1.12
JSON_Object_Defines_Miss_Too_Large 4.967716000001019 ns/iter 4.701997657300216 ns/iter 1.06
Pointer_Object_Traverse 48.78688501756397 ns/iter 52.525089285718906 ns/iter 0.93
Pointer_Object_Try_Traverse 69.90733035714973 ns/iter 69.24666071429084 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 178.9628731216916 ns/iter 171.24346905650523 ns/iter 1.05
Pointer_Walker_Schema_ISO_Language 12149182.142857334 ns/iter 12616333.33333369 ns/iter 0.96
Schema_Frame_WoT_References 11107537.499999154 ns/iter 13118517.777777722 ns/iter 0.85
Schema_Frame_OMC_References 55049800.00000615 ns/iter 53731600.00000222 ns/iter 1.02
Schema_Frame_OMC_Locations 51364899.99999454 ns/iter 50495730.0000001 ns/iter 1.02
Schema_Frame_ISO_Language_Locations 231639899.99996677 ns/iter 232399833.33333686 ns/iter 1.00
Schema_Iterator_ISO_Language 4630004.827587417 ns/iter 4244765.625000468 ns/iter 1.09
Schema_Frame_ISO_Language_Locations_To_JSON 248778233.33334467 ns/iter 243937066.6666794 ns/iter 1.02
Schema_Tracker_ISO_Language 106040057.142861 ns/iter 100404128.57142656 ns/iter 1.06
Schema_Tracker_ISO_Language_To_JSON 54412350.00000688 ns/iter 53211039.9999965 ns/iter 1.02
Schema_Format_ISO_Language_To_JSON 237765633.3333107 ns/iter 347498699.999998 ns/iter 0.68
Schema_Bundle_Meta_2020_12 4074286.6310057756 ns/iter 4390970.348839706 ns/iter 0.93
Schema_Frame_Many_Resources_References 468353800.00004536 ns/iter 527935000.00007045 ns/iter 0.89
Alterschema_Check_Readibility_ISO_Language_Set_3 341108699.99994975 ns/iter 347247449.99999756 ns/iter 0.98
Alterschema_Check_Readibility_OMC 62149290.90910201 ns/iter 62222290.9090934 ns/iter 1.00
EditorSchema_ForEditor_EmbeddedResources 25108510.714289878 ns/iter 24398021.428567063 ns/iter 1.03
URITemplateRouter_Create 21904.150000004563 ns/iter 23283.768038304264 ns/iter 0.94
URITemplateRouter_Match 234.1904047236524 ns/iter 208.19458445558615 ns/iter 1.12
URITemplateRouterView_Restore 25469.917857143235 ns/iter 30285.245345434305 ns/iter 0.84
URITemplateRouterView_Match 152.9143973214226 ns/iter 145.01430156186558 ns/iter 1.05

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/llvm)

Details
Benchmark suite Current: 2338865 Previous: 6866e0e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.08834758750062 ns/iter 2.285764746080123 ns/iter 0.91
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0689689552277497 ns/iter 2.291777319825585 ns/iter 0.90
Regex_Period_Asterisk 2.276286141369108 ns/iter 1.9322968128335674 ns/iter 1.18
Regex_Group_Period_Asterisk_Group 2.1607394293884674 ns/iter 2.256440069658333 ns/iter 0.96
Regex_Period_Plus 2.935981368905436 ns/iter 3.0455605095371143 ns/iter 0.96
Regex_Period 2.599682181892206 ns/iter 2.582356869966051 ns/iter 1.01
Regex_Caret_Period_Plus_Dollar 2.764942290161806 ns/iter 2.330314993225548 ns/iter 1.19
Regex_Caret_Group_Period_Plus_Group_Dollar 2.58318412801744 ns/iter 2.1633129918454954 ns/iter 1.19
Regex_Caret_Period_Asterisk_Dollar 2.2529164205394467 ns/iter 2.039699101970915 ns/iter 1.10
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.370646585604775 ns/iter 1.8565158773184922 ns/iter 1.28
Regex_Caret_X_Hyphen 9.260737326376168 ns/iter 6.950477432543739 ns/iter 1.33
Regex_Period_Md_Dollar 28.410365896170283 ns/iter 24.131932910168153 ns/iter 1.18
Regex_Caret_Slash_Period_Asterisk 7.832368491475339 ns/iter 6.315947580662361 ns/iter 1.24
Regex_Caret_Period_Range_Dollar 2.495914301003916 ns/iter 2.119489167228039 ns/iter 1.18
Regex_Nested_Backtrack 39.19082131397797 ns/iter 31.772192078834394 ns/iter 1.23
JSON_Array_Of_Objects_Unique 522.1905564045659 ns/iter 398.7372100327021 ns/iter 1.31
JSON_Parse_1 28741.267337755547 ns/iter 23283.41270401213 ns/iter 1.23
JSON_Parse_Real 31900.624901742274 ns/iter 28169.465455639434 ns/iter 1.13
JSON_Parse_Decimal 310854.653937934 ns/iter 295325.9695986755 ns/iter 1.05
JSON_Fast_Hash_Helm_Chart_Lock 73.77103614137546 ns/iter 60.800130644321456 ns/iter 1.21
JSON_Equality_Helm_Chart_Lock 178.55675708059593 ns/iter 142.46823223246332 ns/iter 1.25
JSON_String_Equal/10 8.703387369957222 ns/iter 7.342597019069283 ns/iter 1.19
JSON_String_Equal/100 8.597850244490122 ns/iter 6.808058983913521 ns/iter 1.26
JSON_String_Equal_Small_By_Perfect_Hash/10 0.42838037935685125 ns/iter 0.38042802125821445 ns/iter 1.13
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 6.0290237209963875 ns/iter 4.090229293114741 ns/iter 1.47
JSON_String_Fast_Hash/10 3.467618382518244 ns/iter 2.4971513347288865 ns/iter 1.39
JSON_String_Fast_Hash/100 2.5714125433617627 ns/iter 2.470478270174087 ns/iter 1.04
JSON_String_Key_Hash/10 1.8560634536546743 ns/iter 1.593889184857555 ns/iter 1.16
JSON_String_Key_Hash/100 3.0205844713560506 ns/iter 2.215390728593605 ns/iter 1.36
JSON_Object_Defines_Miss_Same_Length 3.333905095358534 ns/iter 3.1338076403289783 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Small 3.264221205621653 ns/iter 3.0666297334512573 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Large 3.234530240543239 ns/iter 2.9192897811765004 ns/iter 1.11
Pointer_Object_Traverse 18.91559927563096 ns/iter 15.517177039134912 ns/iter 1.22
Pointer_Object_Try_Traverse 23.390270559358196 ns/iter 20.285119034457807 ns/iter 1.15
Pointer_Push_Back_Pointer_To_Weak_Pointer 177.43634132225367 ns/iter 162.8570859099603 ns/iter 1.09
Pointer_Walker_Schema_ISO_Language 5566925.84000075 ns/iter 4899481.5161290355 ns/iter 1.14
Schema_Frame_WoT_References 6597314.967742082 ns/iter 6314879.796460181 ns/iter 1.04
Schema_Frame_OMC_References 34877690.47619406 ns/iter 32491791.650005557 ns/iter 1.07
Schema_Frame_OMC_Locations 36195900.444447994 ns/iter 38325502.21052674 ns/iter 0.94
Schema_Frame_ISO_Language_Locations 133509458.39999895 ns/iter 114759763.83333848 ns/iter 1.16
Schema_Iterator_ISO_Language 2653480.7128378763 ns/iter 2528362.3188404297 ns/iter 1.05
Schema_Frame_ISO_Language_Locations_To_JSON 143926895.74998486 ns/iter 102404508.39999084 ns/iter 1.41
Schema_Tracker_ISO_Language 50365802.08332945 ns/iter 43968658.333331704 ns/iter 1.15
Schema_Tracker_ISO_Language_To_JSON 22833680.545452558 ns/iter 15923543.604651248 ns/iter 1.43
Schema_Format_ISO_Language_To_JSON 141393896.0000299 ns/iter 109022708.42853211 ns/iter 1.30
Schema_Bundle_Meta_2020_12 2350838.6855352176 ns/iter 1634714.4591345196 ns/iter 1.44
Schema_Frame_Many_Resources_References 345752916.50003237 ns/iter 244453639.0000091 ns/iter 1.41
Alterschema_Check_Readibility_ISO_Language_Set_3 233810625.00000855 ns/iter 200915986.3333328 ns/iter 1.16
Alterschema_Check_Readibility_OMC 51495560.92307579 ns/iter 43738399.105264805 ns/iter 1.18
EditorSchema_ForEditor_EmbeddedResources 16255921.999993702 ns/iter 13815785.256415673 ns/iter 1.18
URITemplateRouter_Create 22574.50562849313 ns/iter 22369.93401115795 ns/iter 1.01
URITemplateRouter_Match 196.16962865429247 ns/iter 206.01556775716105 ns/iter 0.95
URITemplateRouterView_Restore 13584.996305673249 ns/iter 12097.826350990405 ns/iter 1.12
URITemplateRouterView_Match 150.1129176967563 ns/iter 128.56493743508315 ns/iter 1.17

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

Signed-off-by: Juan Cruz Viotti <[email protected]>
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: 2338865 Previous: 6866e0e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.2085639185503485 ns/iter 2.501433487459228 ns/iter 1.28
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.7593414680142376 ns/iter 2.262410685919662 ns/iter 1.22
Regex_Period_Asterisk 2.969914871662855 ns/iter 2.3570965704717874 ns/iter 1.26
Regex_Group_Period_Asterisk_Group 2.7823710588498263 ns/iter 2.258471353754081 ns/iter 1.23
Regex_Period_Plus 2.597084204124296 ns/iter 2.3457896339862994 ns/iter 1.11
Regex_Period 2.7644468149808983 ns/iter 2.3129967766402157 ns/iter 1.20
Regex_Caret_Period_Plus_Dollar 2.8192382995967913 ns/iter 2.3231719902708012 ns/iter 1.21
Regex_Caret_Group_Period_Plus_Group_Dollar 2.7958782420175075 ns/iter 2.318914089056749 ns/iter 1.21
Regex_Caret_Period_Asterisk_Dollar 2.717185211961715 ns/iter 2.2522447454146857 ns/iter 1.21
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.0384663886821324 ns/iter 2.3620382670522604 ns/iter 1.29
Regex_Caret_X_Hyphen 8.34361494369289 ns/iter 6.732518984720909 ns/iter 1.24
Regex_Period_Md_Dollar 30.623425586770683 ns/iter 22.100291881357414 ns/iter 1.39
Regex_Caret_Slash_Period_Asterisk 6.624889268887451 ns/iter 4.865663396440486 ns/iter 1.36
Regex_Caret_Period_Range_Dollar 3.0495186442266764 ns/iter 2.382890899744028 ns/iter 1.28
Regex_Nested_Backtrack 63.337564416189345 ns/iter 49.96660883570102 ns/iter 1.27
JSON_Array_Of_Objects_Unique 399.0204239335314 ns/iter 301.4701472014692 ns/iter 1.32
JSON_Parse_1 31079.455550554754 ns/iter 26234.651450646343 ns/iter 1.18
JSON_Parse_Real 28960.384904557708 ns/iter 26246.005781679327 ns/iter 1.10
JSON_Parse_Decimal 355958.8109655605 ns/iter 283280.52438312524 ns/iter 1.26
JSON_Fast_Hash_Helm_Chart_Lock 38.944373274626685 ns/iter 36.411150964595926 ns/iter 1.07
JSON_Equality_Helm_Chart_Lock 134.94253530194987 ns/iter 133.1355993760055 ns/iter 1.01
JSON_String_Equal/10 6.778510367023677 ns/iter 6.057781025577389 ns/iter 1.12
JSON_String_Equal/100 6.988215377654829 ns/iter 5.666139852080856 ns/iter 1.23
JSON_String_Equal_Small_By_Perfect_Hash/10 1.008960600798585 ns/iter 0.8225267421916777 ns/iter 1.23
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.9352968869684934 ns/iter 3.852800999217046 ns/iter 1.28
JSON_String_Fast_Hash/10 2.3885237280312372 ns/iter 2.132276283962415 ns/iter 1.12
JSON_String_Fast_Hash/100 2.2624672782795363 ns/iter 2.0500611190713194 ns/iter 1.10
JSON_String_Key_Hash/10 1.9903034897603948 ns/iter 1.5773380533574657 ns/iter 1.26
JSON_String_Key_Hash/100 3.749535231930757 ns/iter 2.856330882525121 ns/iter 1.31
JSON_Object_Defines_Miss_Same_Length 2.5848634795474834 ns/iter 1.9804492924382566 ns/iter 1.31
JSON_Object_Defines_Miss_Too_Small 2.704632770490852 ns/iter 2.016989968105093 ns/iter 1.34
JSON_Object_Defines_Miss_Too_Large 2.6017280742489692 ns/iter 2.0573647147974445 ns/iter 1.26
Pointer_Object_Traverse 69.26870548390926 ns/iter 55.71013914300907 ns/iter 1.24
Pointer_Object_Try_Traverse 53.86311080968541 ns/iter 39.51757572190562 ns/iter 1.36
Pointer_Push_Back_Pointer_To_Weak_Pointer 223.90083519577283 ns/iter 167.6860932526926 ns/iter 1.34
Pointer_Walker_Schema_ISO_Language 6060819.540705 ns/iter 4209964.048294794 ns/iter 1.44
Schema_Frame_WoT_References 6587458.153565724 ns/iter 5124692.3312806245 ns/iter 1.29
Schema_Frame_OMC_References 40429446.43232557 ns/iter 28573582.5697581 ns/iter 1.41
Schema_Frame_OMC_Locations 37886184.804579794 ns/iter 27286465.351398174 ns/iter 1.39
Schema_Frame_ISO_Language_Locations 149565756.32095337 ns/iter 105450119.29103306 ns/iter 1.42
Schema_Iterator_ISO_Language 2745564.3457197496 ns/iter 1885382.8655723433 ns/iter 1.46
Schema_Frame_ISO_Language_Locations_To_JSON 206919352.21354166 ns/iter 161113202.5718689 ns/iter 1.28
Schema_Tracker_ISO_Language 51630937.13613657 ns/iter 39855297.8740019 ns/iter 1.30
Schema_Tracker_ISO_Language_To_JSON 33628058.433532715 ns/iter 24876356.12487793 ns/iter 1.35
Schema_Format_ISO_Language_To_JSON 136592054.36706543 ns/iter 111210068.06691487 ns/iter 1.23
Schema_Bundle_Meta_2020_12 2295307.2893648543 ns/iter 1667486.639583812 ns/iter 1.38
Schema_Frame_Many_Resources_References 456795573.2345581 ns/iter 256905078.88793945 ns/iter 1.78
Alterschema_Check_Readibility_ISO_Language_Set_3 225656986.23657227 ns/iter 166778206.82525635 ns/iter 1.35
Alterschema_Check_Readibility_OMC 45908823.60935211 ns/iter 34111000.242687404 ns/iter 1.35
EditorSchema_ForEditor_EmbeddedResources 16801601.106470283 ns/iter 11727106.57119751 ns/iter 1.43
URITemplateRouter_Create 18765.686745029394 ns/iter 14325.780691697955 ns/iter 1.31
URITemplateRouter_Match 212.01468164991337 ns/iter 183.00159557419843 ns/iter 1.16
URITemplateRouterView_Restore 14075.058265734497 ns/iter 9408.975472304766 ns/iter 1.50
URITemplateRouterView_Match 155.14817711163798 ns/iter 113.47171819451297 ns/iter 1.37

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

@jviotti jviotti merged commit c0180e5 into main Jan 15, 2026
13 checks passed
@jviotti jviotti deleted the html-module branch January 15, 2026 19:23
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