Skip to content

Add a SOURCEMETA_FORCEINLINE helper macro#2281

Merged
jviotti merged 4 commits intomainfrom
preprocessor-module
Mar 3, 2026
Merged

Add a SOURCEMETA_FORCEINLINE helper macro#2281
jviotti merged 4 commits intomainfrom
preprocessor-module

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented Mar 3, 2026

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

@jviotti jviotti force-pushed the preprocessor-module branch from 90076c9 to a632013 Compare March 3, 2026 19:18
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the preprocessor-module branch from a632013 to fbde9e6 Compare March 3, 2026 19:19
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

No issues found across 11 files

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented Mar 3, 2026

🤖 Augment PR Summary

Summary: Adds a new Core “preprocessor” interface component to centralize compiler-specific helper macros (starting with SOURCEMETA_FORCEINLINE).
Why: Provides a single, reusable place for cross-compiler preprocessor/attribute helpers used by multiple libraries.
Changes:

  • Introduced src/lang/preprocessor with an exported CMake target sourcemeta::core::preprocessor and a new SOURCEMETA_CORE_LANG_PREPROCESSOR build option.
  • Updated package config generation so preprocessor is part of the default component set and is pulled in for numeric and json consumers.
  • Linked sourcemeta_core_numeric and sourcemeta_core_json against the new preprocessor interface target.
  • Added <sourcemeta/core/preprocessor.h> includes to public JSON/Numeric headers.
  • Annotated several JSON and Decimal accessors/helpers with SOURCEMETA_FORCEINLINE.
  • Adjusted website build/deploy workflows to disable the preprocessor component when generating docs-only builds.
Technical Notes: The preprocessor target is header-only (INTERFACE) and exists to propagate include paths/defines rather than produce a binary.

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

Fix All in Augment

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

Comment thread src/lang/preprocessor/include/sourcemeta/core/preprocessor.h
Comment thread CMakeLists.txt
jviotti added 3 commits March 3, 2026 15:26
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
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: e0511d5 Previous: 39fd52e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.115797712659395 ns/iter 2.0243508162123534 ns/iter 1.54
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1098265597060553 ns/iter 2.017812662341557 ns/iter 1.54
Regex_Period_Asterisk 3.109575444205837 ns/iter 2.0201723654120247 ns/iter 1.54
Regex_Group_Period_Asterisk_Group 3.1083426665475 ns/iter 2.0182603103148478 ns/iter 1.54
Regex_Period_Plus 3.1152882409247145 ns/iter 2.307693366247395 ns/iter 1.35
Regex_Period 3.0621377338808466 ns/iter 2.3071192150950517 ns/iter 1.33
Regex_Caret_Period_Plus_Dollar 3.1097461951147745 ns/iter 2.3064271818075155 ns/iter 1.35
Regex_Caret_Group_Period_Plus_Group_Dollar 3.100508210661405 ns/iter 2.3065283632486167 ns/iter 1.34
Regex_Caret_Period_Asterisk_Dollar 3.420325353531297 ns/iter 2.0185891476517352 ns/iter 1.69
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4201301411383813 ns/iter 2.065784529883018 ns/iter 1.66
Regex_Caret_X_Hyphen 10.263787298709873 ns/iter 8.931117885495357 ns/iter 1.15
Regex_Period_Md_Dollar 27.6355070250449 ns/iter 25.010907136206043 ns/iter 1.10
Regex_Caret_Slash_Period_Asterisk 7.152949532186459 ns/iter 8.37541209204935 ns/iter 0.85
Regex_Caret_Period_Range_Dollar 3.7322769460419627 ns/iter 2.332942119909421 ns/iter 1.60
Regex_Nested_Backtrack 56.005074855111104 ns/iter 43.66463093890526 ns/iter 1.28
JSON_Array_Of_Objects_Unique 446.45589122380085 ns/iter 362.19872530824244 ns/iter 1.23
JSON_Parse_1 6040.618038932674 ns/iter 5579.208534507191 ns/iter 1.08
JSON_Parse_Real 11087.699034504785 ns/iter 10626.061731364618 ns/iter 1.04
JSON_Parse_Decimal 12125.437844319888 ns/iter 10305.625359084015 ns/iter 1.18
JSON_Parse_Schema_ISO_Language 3591299.1197921685 ns/iter 3259986.144186325 ns/iter 1.10
JSON_Fast_Hash_Helm_Chart_Lock 61.57017693693014 ns/iter 49.646843581374185 ns/iter 1.24
JSON_Equality_Helm_Chart_Lock 175.0046316392266 ns/iter 129.32106859988684 ns/iter 1.35
JSON_Divisible_By_Decimal 601.5092621696523 ns/iter 546.8200252503729 ns/iter 1.10
JSON_String_Equal/10 6.232237420881758 ns/iter 4.683622645289117 ns/iter 1.33
JSON_String_Equal/100 6.852794033342106 ns/iter 5.768250448423194 ns/iter 1.19
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9341252936767032 ns/iter 0.8768971296533061 ns/iter 1.07
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.26476410460938 ns/iter 9.506965164191168 ns/iter 1.08
JSON_String_Fast_Hash/10 2.488624239610993 ns/iter 2.016660173454078 ns/iter 1.23
JSON_String_Fast_Hash/100 2.488764165664692 ns/iter 2.0170464451624546 ns/iter 1.23
JSON_String_Key_Hash/10 2.1877971490295396 ns/iter 1.5245486582216814 ns/iter 1.44
JSON_String_Key_Hash/100 6.531143796380971 ns/iter 6.627207693927363 ns/iter 0.99
JSON_Object_Defines_Miss_Same_Length 3.7402206152411153 ns/iter 3.4016418757376683 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Small 3.7377818452960336 ns/iter 3.401124743328453 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Large 3.7382060755997775 ns/iter 3.3995387364294443 ns/iter 1.10
Pointer_Object_Traverse 27.518313967359028 ns/iter 36.88823371563713 ns/iter 0.75
Pointer_Object_Try_Traverse 27.54118689084602 ns/iter 45.200158809949606 ns/iter 0.61
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.09985557367753 ns/iter 243.82738999365523 ns/iter 0.66
Pointer_Walker_Schema_ISO_Language 3014313.435344732 ns/iter 3243024.5681816605 ns/iter 0.93
Schema_Frame_WoT_References 4772724.161971639 ns/iter 4411188.848101125 ns/iter 1.08
Schema_Frame_OMC_References 19727445.11428703 ns/iter 20453038.235296067 ns/iter 0.96
Schema_Frame_OMC_Locations 18152721.179487158 ns/iter 18500197.657894995 ns/iter 0.98
Schema_Frame_ISO_Language_Locations 96487329.99998325 ns/iter 97229765.42856745 ns/iter 0.99
Schema_Frame_KrakenD_References 36572077.84210402 ns/iter 39127166.833332516 ns/iter 0.93
Schema_Frame_KrakenD_Reachable 567342007.9999686 ns/iter 854135304.0000104 ns/iter 0.66
Schema_Iterator_ISO_Language 2237164.85852068 ns/iter 2258120.4741934547 ns/iter 0.99
Schema_Frame_ISO_Language_Locations_To_JSON 127357878.74999005 ns/iter 133863923.39998564 ns/iter 0.95
Schema_Tracker_ISO_Language 26330540.370370023 ns/iter 27003722.0384613 ns/iter 0.98
Schema_Tracker_ISO_Language_To_JSON 21341346.999999147 ns/iter 27735941.7692301 ns/iter 0.77
Schema_Format_ISO_Language_To_JSON 102465279.71431923 ns/iter 103344940.00000761 ns/iter 0.99
Schema_Bundle_Meta_2020_12 1560980.6147016925 ns/iter 1468820.0212753087 ns/iter 1.06
Schema_Frame_Many_Resources_References 353665663.9999478 ns/iter 373515746.5000043 ns/iter 0.95
Alterschema_Check_Readibility_ISO_Language_Set_3 206720335.9999894 ns/iter 199922358.50000384 ns/iter 1.03
Alterschema_Check_Readibility_OMC 31754801.227273013 ns/iter 32187170.272725943 ns/iter 0.99
Alterschema_Apply_Readibility_KrakenD 576065993.9999187 ns/iter 567721928.9999584 ns/iter 1.01
EditorSchema_ForEditor_EmbeddedResources 13416626.57692994 ns/iter 12588790.39285635 ns/iter 1.07
URITemplateRouter_Create 16353.848325882009 ns/iter 14114.78045058314 ns/iter 1.16
URITemplateRouter_Match 174.99069234417846 ns/iter 151.39320891986097 ns/iter 1.16
URITemplateRouterView_Restore 6855.533483498474 ns/iter 2454.3061330672112 ns/iter 2.79
URITemplateRouterView_Match 143.5408394270875 ns/iter 134.00121131897666 ns/iter 1.07

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

Details
Benchmark suite Current: e0511d5 Previous: 39fd52e Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.069831825263625 ns/iter 1.667386586330827 ns/iter 1.24
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.147366249865649 ns/iter 1.6880987256580637 ns/iter 1.27
Regex_Period_Asterisk 2.0579025547350205 ns/iter 1.7188712022758863 ns/iter 1.20
Regex_Group_Period_Asterisk_Group 1.997590236181463 ns/iter 1.7486598003568414 ns/iter 1.14
Regex_Period_Plus 2.325762296668048 ns/iter 2.321405181468886 ns/iter 1.00
Regex_Period 2.400660039613509 ns/iter 2.4544443704285013 ns/iter 0.98
Regex_Caret_Period_Plus_Dollar 2.3166448365722165 ns/iter 2.3052353209472667 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.3640752381460026 ns/iter 2.780215675514688 ns/iter 0.85
Regex_Caret_Period_Asterisk_Dollar 2.1637060591683492 ns/iter 2.436982362564696 ns/iter 0.89
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.246477783621121 ns/iter 2.0457312761802853 ns/iter 1.10
Regex_Caret_X_Hyphen 7.655651253615613 ns/iter 8.11515601203616 ns/iter 0.94
Regex_Period_Md_Dollar 22.911963196956606 ns/iter 24.47025995824486 ns/iter 0.94
Regex_Caret_Slash_Period_Asterisk 5.753466534123821 ns/iter 5.824655567622113 ns/iter 0.99
Regex_Caret_Period_Range_Dollar 2.075969871508051 ns/iter 1.808185641331122 ns/iter 1.15
Regex_Nested_Backtrack 30.251835227803877 ns/iter 30.40304872576794 ns/iter 1.00
JSON_Array_Of_Objects_Unique 363.78858217092994 ns/iter 363.6543353448553 ns/iter 1.00
JSON_Parse_1 4398.167872518307 ns/iter 5280.4041700005655 ns/iter 0.83
JSON_Parse_Real 6643.87073663426 ns/iter 6816.7511933182695 ns/iter 0.97
JSON_Parse_Decimal 8229.799139648554 ns/iter 8433.579780182134 ns/iter 0.98
JSON_Parse_Schema_ISO_Language 3391690.0390245356 ns/iter 4300160.533742541 ns/iter 0.79
JSON_Fast_Hash_Helm_Chart_Lock 56.94225032161202 ns/iter 69.81056627069688 ns/iter 0.82
JSON_Equality_Helm_Chart_Lock 140.91556177572377 ns/iter 156.7371339111371 ns/iter 0.90
JSON_Divisible_By_Decimal 545.1254170000084 ns/iter 513.8182337202318 ns/iter 1.06
JSON_String_Equal/10 7.093505947655839 ns/iter 10.874189149215384 ns/iter 0.65
JSON_String_Equal/100 6.611511158545664 ns/iter 8.20047071748321 ns/iter 0.81
JSON_String_Equal_Small_By_Perfect_Hash/10 0.8139910089059839 ns/iter 1.0302189112062852 ns/iter 0.79
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.8703978319034054 ns/iter 4.750833732620177 ns/iter 0.81
JSON_String_Fast_Hash/10 2.5448321202130475 ns/iter 3.564362189914263 ns/iter 0.71
JSON_String_Fast_Hash/100 2.154685005200834 ns/iter 2.4014815451571825 ns/iter 0.90
JSON_String_Key_Hash/10 1.4602558644068342 ns/iter 1.868630519247182 ns/iter 0.78
JSON_String_Key_Hash/100 2.79793555628661 ns/iter 2.9082292150392894 ns/iter 0.96
JSON_Object_Defines_Miss_Same_Length 2.8931295461372555 ns/iter 2.7570822821150416 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Small 2.7102705665267237 ns/iter 2.4594210236507217 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Large 2.7515427350203128 ns/iter 2.5293382277842524 ns/iter 1.09
Pointer_Object_Traverse 15.153163663758265 ns/iter 15.434063530178127 ns/iter 0.98
Pointer_Object_Try_Traverse 19.893377859869997 ns/iter 22.95620950697118 ns/iter 0.87
Pointer_Push_Back_Pointer_To_Weak_Pointer 159.74343143206133 ns/iter 177.21177990447424 ns/iter 0.90
Pointer_Walker_Schema_ISO_Language 5548869.981482683 ns/iter 5534253.45112674 ns/iter 1.00
Schema_Frame_WoT_References 4419496.875000562 ns/iter 8312775.356521145 ns/iter 0.53
Schema_Frame_OMC_References 25063632.812496904 ns/iter 35951708.3333382 ns/iter 0.70
Schema_Frame_OMC_Locations 22326746.42857221 ns/iter 33978593.74999826 ns/iter 0.66
Schema_Frame_ISO_Language_Locations 82548963.4999883 ns/iter 104400966.59999654 ns/iter 0.79
Schema_Frame_KrakenD_References 47459932.69232083 ns/iter 54178070.538472846 ns/iter 0.88
Schema_Frame_KrakenD_Reachable 448288104.0001985 ns/iter 593549959.0000291 ns/iter 0.76
Schema_Iterator_ISO_Language 2221855.8917192225 ns/iter 2539659.154506636 ns/iter 0.87
Schema_Frame_ISO_Language_Locations_To_JSON 95607708.28569989 ns/iter 108051277.66665615 ns/iter 0.88
Schema_Tracker_ISO_Language 33372291.68180949 ns/iter 35057011.55554814 ns/iter 0.95
Schema_Tracker_ISO_Language_To_JSON 14585715.909091009 ns/iter 16018273.063827246 ns/iter 0.91
Schema_Format_ISO_Language_To_JSON 83856067.62502107 ns/iter 80408750.25000104 ns/iter 1.04
Schema_Bundle_Meta_2020_12 1224404.9946588373 ns/iter 1211002.7976423057 ns/iter 1.01
Schema_Frame_Many_Resources_References 350207208.0000289 ns/iter 269758271.0000006 ns/iter 1.30
Alterschema_Check_Readibility_ISO_Language_Set_3 178906343.74998626 ns/iter 158317766.80001897 ns/iter 1.13
Alterschema_Check_Readibility_OMC 41234504.941177666 ns/iter 33694890.857142515 ns/iter 1.22
Alterschema_Apply_Readibility_KrakenD 557178709.0000271 ns/iter 501326334.00016856 ns/iter 1.11
EditorSchema_ForEditor_EmbeddedResources 11959851.499990426 ns/iter 10638803.421873178 ns/iter 1.12
URITemplateRouter_Create 18346.541253734755 ns/iter 17142.206280324717 ns/iter 1.07
URITemplateRouter_Match 187.16889313695432 ns/iter 170.1657158010192 ns/iter 1.10
URITemplateRouterView_Restore 17388.799839141648 ns/iter 13196.409794019379 ns/iter 1.32
URITemplateRouterView_Match 156.46090294426963 ns/iter 132.9189704693461 ns/iter 1.18

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: e0511d5 Previous: 0d97ef7 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.138297832973397 ns/iter 4.150913355625428 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.125100810937054 ns/iter 4.135346249999827 ns/iter 1.00
Regex_Period_Asterisk 4.744698224876489 ns/iter 4.733886840924055 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 4.440811874999895 ns/iter 4.424010265882165 ns/iter 1.00
Regex_Period_Plus 4.4272418749997655 ns/iter 5.084342857141369 ns/iter 0.87
Regex_Period 4.904998492420807 ns/iter 5.050997321427125 ns/iter 0.97
Regex_Caret_Period_Plus_Dollar 4.11797852494701 ns/iter 4.748253393918034 ns/iter 0.87
Regex_Caret_Group_Period_Plus_Group_Dollar 3.799646205357681 ns/iter 4.436269999999354 ns/iter 0.86
Regex_Caret_Period_Asterisk_Dollar 4.434100625000781 ns/iter 4.441126249999172 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.111975243700663 ns/iter 4.12760149369233 ns/iter 1.00
Regex_Caret_X_Hyphen 7.621498883926746 ns/iter 7.292281250000444 ns/iter 1.05
Regex_Period_Md_Dollar 35.18633411047799 ns/iter 35.78960667997725 ns/iter 0.98
Regex_Caret_Slash_Period_Asterisk 7.28652008928624 ns/iter 6.972628348214423 ns/iter 1.05
Regex_Caret_Period_Range_Dollar 4.133810891011822 ns/iter 4.119463221642443 ns/iter 1.00
Regex_Nested_Backtrack 94.59322345564865 ns/iter 101.61603564213755 ns/iter 0.93
JSON_Array_Of_Objects_Unique 498.5963999999967 ns/iter 499.95502231230444 ns/iter 1.00
JSON_Parse_1 8606.23702572817 ns/iter 9015.17805723943 ns/iter 0.95
JSON_Parse_Real 16113.935267857269 ns/iter 15843.397321429873 ns/iter 1.02
JSON_Parse_Decimal 15280.042410716582 ns/iter 16293.765625004904 ns/iter 0.94
JSON_Parse_Schema_ISO_Language 6291366.00000038 ns/iter 6303446.428570883 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 67.37341964286055 ns/iter 70.82383035714606 ns/iter 0.95
JSON_Equality_Helm_Chart_Lock 275.7610323320964 ns/iter 262.7101568174389 ns/iter 1.05
JSON_Divisible_By_Decimal 1174.7714285714244 ns/iter 1226.9725000001993 ns/iter 0.96
JSON_String_Equal/10 12.626344642857898 ns/iter 12.28337142857023 ns/iter 1.03
JSON_String_Equal/100 13.523572707483972 ns/iter 12.987546428571966 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 1.8904108945451403 ns/iter 1.8888353588293452 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.599867857143668 ns/iter 12.99445909377515 ns/iter 0.97
JSON_String_Fast_Hash/10 3.8180978503256178 ns/iter 3.7823351718170484 ns/iter 1.01
JSON_String_Fast_Hash/100 3.8729421359406535 ns/iter 3.8412016002838274 ns/iter 1.01
JSON_String_Key_Hash/10 4.116403578779379 ns/iter 4.162114828860927 ns/iter 0.99
JSON_String_Key_Hash/100 16.74235837003225 ns/iter 14.399164221434654 ns/iter 1.16
JSON_Object_Defines_Miss_Same_Length 3.793081064655461 ns/iter 3.4776878062890373 ns/iter 1.09
JSON_Object_Defines_Miss_Too_Small 3.815736607141978 ns/iter 5.127449999999953 ns/iter 0.74
JSON_Object_Defines_Miss_Too_Large 5.040148999999019 ns/iter 4.09852683767623 ns/iter 1.23
Pointer_Object_Traverse 40.67267108043728 ns/iter 53.0239500000107 ns/iter 0.77
Pointer_Object_Try_Traverse 50.11500000000524 ns/iter 73.24162946427444 ns/iter 0.68
Pointer_Push_Back_Pointer_To_Weak_Pointer 181.7224715823305 ns/iter 151.28736607142707 ns/iter 1.20
Pointer_Walker_Schema_ISO_Language 11802573.437499575 ns/iter 13187351.999999918 ns/iter 0.89
Schema_Frame_WoT_References 10265901.333332295 ns/iter 11659369.99999758 ns/iter 0.88
Schema_Frame_OMC_References 42659281.249996185 ns/iter 45345473.33334255 ns/iter 0.94
Schema_Frame_OMC_Locations 39170576.47059022 ns/iter 41353788.23529583 ns/iter 0.95
Schema_Frame_ISO_Language_Locations 201047200.00002393 ns/iter 211792166.6667068 ns/iter 0.95
Schema_Frame_KrakenD_References 88686742.85716745 ns/iter 95173842.85712588 ns/iter 0.93
Schema_Frame_KrakenD_Reachable 509207900.00031954 ns/iter 571087199.9999654 ns/iter 0.89
Schema_Iterator_ISO_Language 4156808.433735768 ns/iter 4787560.402684183 ns/iter 0.87
Schema_Frame_ISO_Language_Locations_To_JSON 265516050.0000875 ns/iter 264220166.6665945 ns/iter 1.00
Schema_Tracker_ISO_Language 50502664.285724156 ns/iter 49070009.09090377 ns/iter 1.03
Schema_Tracker_ISO_Language_To_JSON 54509163.636380844 ns/iter 55858059.99999138 ns/iter 0.98
Schema_Format_ISO_Language_To_JSON 193966499.99991193 ns/iter 208737266.66673064 ns/iter 0.93
Schema_Bundle_Meta_2020_12 2725425.000001065 ns/iter 2805561.7424170673 ns/iter 0.97
Schema_Frame_Many_Resources_References 1496719900.0000165 ns/iter 1513906599.9999275 ns/iter 0.99
Alterschema_Check_Readibility_ISO_Language_Set_3 328558199.9999749 ns/iter 333006700.0000554 ns/iter 0.99
Alterschema_Check_Readibility_OMC 58058619.999997064 ns/iter 65575654.545455106 ns/iter 0.89
Alterschema_Apply_Readibility_KrakenD 977523100.0000986 ns/iter 1097485600.0000272 ns/iter 0.89
EditorSchema_ForEditor_EmbeddedResources 26509192.857133713 ns/iter 30668831.81820272 ns/iter 0.86
URITemplateRouter_Create 23335.554290684326 ns/iter 22640.43749999445 ns/iter 1.03
URITemplateRouter_Match 212.71327398606363 ns/iter 210.13846875000297 ns/iter 1.01
URITemplateRouterView_Restore 31165.2633928564 ns/iter 30061.635353490357 ns/iter 1.04
URITemplateRouterView_Match 187.5361506728616 ns/iter 153.6464955357023 ns/iter 1.22

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: e0511d5 Previous: 0d97ef7 Ratio
URITemplateRouter_Create 14256.94552968527 ns/iter 15140.361607430319 ns/iter 0.94
URITemplateRouter_Match 178.75740298636666 ns/iter 161.506678428757 ns/iter 1.11
URITemplateRouterView_Restore 8012.285115999601 ns/iter 7975.224255980384 ns/iter 1.00
URITemplateRouterView_Match 149.98121414249746 ns/iter 127.47947052164955 ns/iter 1.18
EditorSchema_ForEditor_EmbeddedResources 14147584.632656636 ns/iter 14305499.693879325 ns/iter 0.99
Alterschema_Check_Readibility_ISO_Language_Set_3 216768294.00000012 ns/iter 215953080.00003874 ns/iter 1.00
Alterschema_Check_Readibility_OMC 34759830.799998775 ns/iter 34895271.45000011 ns/iter 1.00
Alterschema_Apply_Readibility_KrakenD 628767667.9999095 ns/iter 631358203.9999801 ns/iter 1.00
Schema_Frame_WoT_References 5423377.046512076 ns/iter 5402538.923076114 ns/iter 1.00
Schema_Frame_OMC_References 23251275.12902679 ns/iter 23120652.87096923 ns/iter 1.01
Schema_Frame_OMC_Locations 20490138.187497564 ns/iter 20826633.23529446 ns/iter 0.98
Schema_Frame_ISO_Language_Locations 106634923.49999614 ns/iter 105552523.99998002 ns/iter 1.01
Schema_Frame_KrakenD_References 42909303.74999391 ns/iter 42926825.75000128 ns/iter 1.00
Schema_Frame_KrakenD_Reachable 629875532.0001419 ns/iter 625595364.000219 ns/iter 1.01
Schema_Iterator_ISO_Language 2623249.8438659543 ns/iter 2785467.210318284 ns/iter 0.94
Schema_Frame_ISO_Language_Locations_To_JSON 253860555.6666577 ns/iter 256518673.9999869 ns/iter 0.99
Schema_Tracker_ISO_Language 33140404.476181995 ns/iter 30506327.04545561 ns/iter 1.09
Schema_Tracker_ISO_Language_To_JSON 31734370.652172755 ns/iter 30068342.541672643 ns/iter 1.06
Schema_Format_ISO_Language_To_JSON 120705275.49993433 ns/iter 111848576.83326755 ns/iter 1.08
Schema_Bundle_Meta_2020_12 1791095.0205621417 ns/iter 1913288.5369855687 ns/iter 0.94
Schema_Frame_Many_Resources_References 401761836.9999809 ns/iter 395211734.9999753 ns/iter 1.02
Pointer_Object_Traverse 26.374347108325207 ns/iter 27.533058500325044 ns/iter 0.96
Pointer_Object_Try_Traverse 27.45001793526075 ns/iter 27.26998396119552 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 168.99617922020653 ns/iter 162.99013245381607 ns/iter 1.04
Pointer_Walker_Schema_ISO_Language 3607549.0158723774 ns/iter 3563620.075757594 ns/iter 1.01
JSON_Array_Of_Objects_Unique 442.77769436046805 ns/iter 408.67089636025406 ns/iter 1.08
JSON_Parse_1 8338.411578973819 ns/iter 8669.020970107338 ns/iter 0.96
JSON_Parse_Real 12417.537075708504 ns/iter 12785.138806324634 ns/iter 0.97
JSON_Parse_Decimal 18554.63415734059 ns/iter 18775.768462325414 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 4699590.308724974 ns/iter 4707138.320000012 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 67.64691837872736 ns/iter 62.30932777475517 ns/iter 1.09
JSON_Equality_Helm_Chart_Lock 164.80482438702998 ns/iter 162.35976931499937 ns/iter 1.02
JSON_Divisible_By_Decimal 583.970179748388 ns/iter 589.2602260920049 ns/iter 0.99
JSON_String_Equal/10 6.311023455880799 ns/iter 6.306341683840129 ns/iter 1.00
JSON_String_Equal/100 6.973993412094265 ns/iter 6.936042598653136 ns/iter 1.01
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6232847972131 ns/iter 0.6233455444477521 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.758865334730231 ns/iter 13.390376414199327 ns/iter 1.03
JSON_String_Fast_Hash/10 1.9444992541627812 ns/iter 1.9093965896129559 ns/iter 1.02
JSON_String_Fast_Hash/100 1.9470823258008108 ns/iter 1.907948896527622 ns/iter 1.02
JSON_String_Key_Hash/10 2.609470809022409 ns/iter 1.2466405938800653 ns/iter 2.09
JSON_String_Key_Hash/100 13.707061546228351 ns/iter 12.433381440941142 ns/iter 1.10
JSON_Object_Defines_Miss_Same_Length 3.111224068384849 ns/iter 3.4287472622897246 ns/iter 0.91
JSON_Object_Defines_Miss_Too_Small 3.423983509710901 ns/iter 3.4250091870709922 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.425905828826548 ns/iter 3.4275229294973832 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.1095091137716175 ns/iter 3.1128129953242363 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1110426994543077 ns/iter 3.114116123537579 ns/iter 1.00
Regex_Period_Asterisk 3.1121911532861435 ns/iter 3.1119406672467034 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.112080774496987 ns/iter 3.144954158953304 ns/iter 0.99
Regex_Period_Plus 2.8017986620300666 ns/iter 2.801401617843364 ns/iter 1.00
Regex_Period 2.7996833022056213 ns/iter 2.8017058059049122 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.8012059769009054 ns/iter 2.802565755931037 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.802418547501596 ns/iter 2.8001625307226967 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 3.422271103559276 ns/iter 4.044490132134986 ns/iter 0.85
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.42131186589918 ns/iter 4.046008733522227 ns/iter 0.85
Regex_Caret_X_Hyphen 13.078596413269205 ns/iter 13.68856482166014 ns/iter 0.96
Regex_Period_Md_Dollar 37.61643283749183 ns/iter 36.83199164879809 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 8.39783233068158 ns/iter 8.711539960415875 ns/iter 0.96
Regex_Caret_Period_Range_Dollar 3.4251501694586826 ns/iter 4.055817357335976 ns/iter 0.84
Regex_Nested_Backtrack 66.71672898129893 ns/iter 58.334714041987375 ns/iter 1.14

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

@jviotti jviotti merged commit 0113db8 into main Mar 3, 2026
13 checks passed
@jviotti jviotti deleted the preprocessor-module branch March 3, 2026 20:15
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