Skip to content

Better guard release only compiler flags#2395

Merged
jviotti merged 2 commits into
mainfrom
debug-flags
May 21, 2026
Merged

Better guard release only compiler flags#2395
jviotti merged 2 commits into
mainfrom
debug-flags

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 21, 2026

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
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 1 file

Re-trigger cubic

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 21, 2026

🤖 Augment PR Summary

Summary: This PR refines how default compiler flags are applied so that optimization-only flags are not used in Debug builds.

Changes:

  • Added documentation clarifying which flag categories are always-on vs config-gated
  • Moved loop unrolling/vectorization flags behind a $<NOT:$<CONFIG:Debug>> generator-expression guard
  • Gated several fast-math related flags to non-Debug configurations
  • Similarly gated LLVM�s -fvectorize and -fslp-vectorize flags outside Debug

Technical Notes: Intent appears to be reducing Clang/GCC analysis overhead in Debug where optimization is typically disabled.

🤖 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.

# Optimization-only: emitted only when not building Debug. At -O0 these
# run analyses that never reach codegen, costing build time for no
# behavioral effect
$<$<NOT:$<CONFIG:Debug>>:-funroll-loops>
Copy link
Copy Markdown

@augmentcode augmentcode Bot May 21, 2026

Choose a reason for hiding this comment

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

$<$<NOT:$<CONFIG:Debug>>:...> will also enable these flags when the build configuration is empty/unspecified (e.g., single-config generators if CMAKE_BUILD_TYPE isn’t set), which may defeat the intent of avoiding extra work at -O0. Consider explicitly handling the empty-config case or documenting that a build type must be set for this gating to behave as expected.

Severity: medium

Other Locations
  • cmake/common/compiler/options.cmake:65
  • cmake/common/compiler/options.cmake:68
  • cmake/common/compiler/options.cmake:69
  • cmake/common/compiler/options.cmake:70
  • cmake/common/compiler/options.cmake:71
  • cmake/common/compiler/options.cmake:72
  • cmake/common/compiler/options.cmake:98
  • cmake/common/compiler/options.cmake:100

Fix This in Augment

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

Comment thread cmake/common/compiler/options.cmake Outdated
$<$<NOT:$<CONFIG:Debug>>:-ftree-vectorize>

# Fast-math relaxations: only meaningful with -O1+ vectorization
$<$<NOT:$<CONFIG:Debug>>:-fno-math-errno>
Copy link
Copy Markdown

@augmentcode augmentcode Bot May 21, 2026

Choose a reason for hiding this comment

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

Flags like -fno-math-errno, -fno-trapping-math, -fno-signed-zeros, and -fassociative-math can change observable floating-point/errno behavior, so gating them to non-Debug introduces config-dependent semantics beyond just optimization levels. It may be worth confirming CI/tests run at least one non-Debug config so any behavioral differences are caught before Release users see them.

Severity: medium

Fix This in Augment

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

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

Details
Benchmark suite Current: c3d0491 Previous: 39431ca Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2926427622812433 ns/iter 2.302055045343241 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0375240162147343 ns/iter 1.9080530742242099 ns/iter 1.07
Regex_Period_Asterisk 1.9620705986803768 ns/iter 1.8955991945555324 ns/iter 1.04
Regex_Group_Period_Asterisk_Group 2.0608753378256455 ns/iter 1.8977026189067088 ns/iter 1.09
Regex_Period_Plus 1.9796762776701389 ns/iter 1.9182073039283285 ns/iter 1.03
Regex_Period 2.0372072400763783 ns/iter 1.8996045808993403 ns/iter 1.07
Regex_Caret_Period_Plus_Dollar 2.0235583426627843 ns/iter 1.8958743165020802 ns/iter 1.07
Regex_Caret_Group_Period_Plus_Group_Dollar 2.013843830785262 ns/iter 1.8884215083926357 ns/iter 1.07
Regex_Caret_Period_Asterisk_Dollar 2.021571450139827 ns/iter 1.8868881810987148 ns/iter 1.07
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.000642012415241 ns/iter 1.8891988247312403 ns/iter 1.06
Regex_Caret_X_Hyphen 6.131637029992998 ns/iter 5.669656756066148 ns/iter 1.08
Regex_Period_Md_Dollar 16.193681515793887 ns/iter 15.180494741977057 ns/iter 1.07
Regex_Caret_Slash_Period_Asterisk 8.038147735584225 ns/iter 7.841027503985353 ns/iter 1.03
Regex_Caret_Period_Range_Dollar 1.672865981522218 ns/iter 1.5970793327905994 ns/iter 1.05
Regex_Nested_Backtrack 24.35337372375728 ns/iter 22.95024638875533 ns/iter 1.06
JSON_Array_Of_Objects_Unique 417.04863564964654 ns/iter 407.5382855955551 ns/iter 1.02
JSON_Parse_1 3952.0579029311625 ns/iter 3644.966224146313 ns/iter 1.08
JSON_Parse_Real 6343.444934481669 ns/iter 5924.1938625156 ns/iter 1.07
JSON_Parse_Decimal 7798.595201363462 ns/iter 7408.725365271032 ns/iter 1.05
JSON_Parse_Schema_ISO_Language 2944293.50220217 ns/iter 2697805.183205993 ns/iter 1.09
JSON_Fast_Hash_Helm_Chart_Lock 57.41518637985337 ns/iter 54.55843730605611 ns/iter 1.05
JSON_Equality_Helm_Chart_Lock 136.25071503114802 ns/iter 124.45153391137697 ns/iter 1.09
JSON_Divisible_By_Decimal 173.96188489315128 ns/iter 161.1865713840832 ns/iter 1.08
JSON_String_Equal/10 6.752385684733307 ns/iter 6.295718949241249 ns/iter 1.07
JSON_String_Equal/100 6.4559057996962 ns/iter 6.258145008235911 ns/iter 1.03
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7327991007665154 ns/iter 0.7013732900866806 ns/iter 1.04
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.3074281340624356 ns/iter 3.0637504808046256 ns/iter 1.08
JSON_String_Fast_Hash/10 2.2981667682156997 ns/iter 2.276623305587624 ns/iter 1.01
JSON_String_Fast_Hash/100 2.038685584469973 ns/iter 1.890269228958525 ns/iter 1.08
JSON_String_Key_Hash/10 1.3570037937680162 ns/iter 1.2674371780667866 ns/iter 1.07
JSON_String_Key_Hash/100 2.12359841291676 ns/iter 2.040707246074457 ns/iter 1.04
JSON_Object_Defines_Miss_Same_Length 2.359452014663311 ns/iter 2.2496307875032096 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Small 2.3300745897065105 ns/iter 2.2282463843397977 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Large 2.3715659627423613 ns/iter 2.2062397527229405 ns/iter 1.07
Pointer_Object_Traverse 13.926436544257722 ns/iter 13.094044565926263 ns/iter 1.06
Pointer_Object_Try_Traverse 19.2279382879292 ns/iter 18.212339402817676 ns/iter 1.06
Pointer_Push_Back_Pointer_To_Weak_Pointer 151.7086208000603 ns/iter 146.76021403179726 ns/iter 1.03
Pointer_Walker_Schema_ISO_Language 4296008.331250789 ns/iter 3657973.307291229 ns/iter 1.17
Pointer_Maybe_Tracked_Deeply_Nested/0 927353.0680556203 ns/iter 916084.8442952983 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/1 1429187.5375219418 ns/iter 1186254.3445229519 ns/iter 1.20
Pointer_Position_Tracker_Get_Deeply_Nested 372.45196057346794 ns/iter 322.8793367998301 ns/iter 1.15
URITemplateRouter_Create 22758.39767138034 ns/iter 21226.627629437233 ns/iter 1.07
URITemplateRouter_Match 163.2399470345852 ns/iter 152.47791947574018 ns/iter 1.07
URITemplateRouter_Match_BasePath 208.57815630345266 ns/iter 179.71130354021608 ns/iter 1.16
URITemplateRouterView_Restore 9558.460851152862 ns/iter 8678.008157502798 ns/iter 1.10
URITemplateRouterView_Match 138.51359722710095 ns/iter 121.61740039977118 ns/iter 1.14
URITemplateRouterView_Match_BasePath 149.46857863336285 ns/iter 138.28826586965417 ns/iter 1.08
URITemplateRouterView_Arguments 412.11803139646764 ns/iter 407.6451623131614 ns/iter 1.01
JSONL_Parse_Large 12655145.089285368 ns/iter 11279213.983050918 ns/iter 1.12
JSONL_Parse_Large_GZIP 12977369.592590548 ns/iter 12159437.140352119 ns/iter 1.07
HTML_Build_Table_100000 64999983.40000274 ns/iter 62612833.36363539 ns/iter 1.04
HTML_Render_Table_100000 4551458.860760249 ns/iter 2468165.7037035623 ns/iter 1.84
GZIP_Compress_ISO_Language_Set_3_Locations 27161338.541664764 ns/iter 25921399.70370142 ns/iter 1.05
GZIP_Decompress_ISO_Language_Set_3_Locations 5123909.999999796 ns/iter 4738101.549668987 ns/iter 1.08
GZIP_Compress_ISO_Language_Set_3_Schema 1532333.4257642655 ns/iter 1406615.6941649108 ns/iter 1.09
GZIP_Decompress_ISO_Language_Set_3_Schema 272040.92191138875 ns/iter 264203.0839894783 ns/iter 1.03

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: c3d0491 Previous: 39431ca Ratio
GZIP_Compress_ISO_Language_Set_3_Locations 41712230.176472075 ns/iter 31645454.4999994 ns/iter 1.32
GZIP_Decompress_ISO_Language_Set_3_Locations 4485925.6089743655 ns/iter 3043628.60434772 ns/iter 1.47
GZIP_Compress_ISO_Language_Set_3_Schema 2357483.3389261584 ns/iter 1797243.9203083264 ns/iter 1.31
GZIP_Decompress_ISO_Language_Set_3_Schema 328984.23242468765 ns/iter 213019.88355021662 ns/iter 1.54
HTML_Build_Table_100000 66900474.19999701 ns/iter 53309098.46154205 ns/iter 1.25
HTML_Render_Table_100000 2050582.8680350538 ns/iter 1937346.49614403 ns/iter 1.06
JSONL_Parse_Large 12586570.62499984 ns/iter 9719847.819444755 ns/iter 1.29
JSONL_Parse_Large_GZIP 13704449.058822071 ns/iter 10604821.151515132 ns/iter 1.29
URITemplateRouter_Create 29595.707533235913 ns/iter 22698.113568325396 ns/iter 1.30
URITemplateRouter_Match 177.48621848084667 ns/iter 124.60451423704633 ns/iter 1.42
URITemplateRouter_Match_BasePath 208.735721805225 ns/iter 141.59017156602349 ns/iter 1.47
URITemplateRouterView_Restore 8591.539787430951 ns/iter 6716.548527446268 ns/iter 1.28
URITemplateRouterView_Match 136.6362207150249 ns/iter 100.7921661958836 ns/iter 1.36
URITemplateRouterView_Match_BasePath 159.22708576705193 ns/iter 117.61528661431865 ns/iter 1.35
URITemplateRouterView_Arguments 458.5700640676439 ns/iter 358.73941112619923 ns/iter 1.28
Pointer_Object_Traverse 26.477944533047165 ns/iter 20.60809918178272 ns/iter 1.28
Pointer_Object_Try_Traverse 21.913646515195502 ns/iter 16.996531724834966 ns/iter 1.29
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.99319345989355 ns/iter 116.20399616327902 ns/iter 1.42
Pointer_Walker_Schema_ISO_Language 3458420.8118812423 ns/iter 2483282.0219780807 ns/iter 1.39
Pointer_Maybe_Tracked_Deeply_Nested/0 1540585.427937963 ns/iter 1200980.4820513052 ns/iter 1.28
Pointer_Maybe_Tracked_Deeply_Nested/1 1714283.9240195781 ns/iter 1328530.760000008 ns/iter 1.29
Pointer_Position_Tracker_Get_Deeply_Nested 628.1074359997273 ns/iter 366.01017651473325 ns/iter 1.72
JSON_Array_Of_Objects_Unique 423.883464409985 ns/iter 346.044791659037 ns/iter 1.22
JSON_Parse_1 7781.316410940731 ns/iter 6195.993881095243 ns/iter 1.26
JSON_Parse_Real 12103.041081804484 ns/iter 9280.499441354967 ns/iter 1.30
JSON_Parse_Decimal 16280.374790502325 ns/iter 13061.412793201209 ns/iter 1.25
JSON_Parse_Schema_ISO_Language 4638658.751677389 ns/iter 3663683.984375036 ns/iter 1.27
JSON_Fast_Hash_Helm_Chart_Lock 61.35865362305765 ns/iter 52.21344400000589 ns/iter 1.18
JSON_Equality_Helm_Chart_Lock 174.59891008465496 ns/iter 133.02389553619247 ns/iter 1.31
JSON_Divisible_By_Decimal 227.71525195036668 ns/iter 176.48609344742985 ns/iter 1.29
JSON_String_Equal/10 6.070656790655601 ns/iter 4.7099803199935515 ns/iter 1.29
JSON_String_Equal/100 6.832221299524268 ns/iter 5.650287479306423 ns/iter 1.21
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7268707754847706 ns/iter 0.5518529651282013 ns/iter 1.32
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 22.064000350198388 ns/iter 17.089076886696688 ns/iter 1.29
JSON_String_Fast_Hash/10 1.063536579512912 ns/iter 0.822725555972128 ns/iter 1.29
JSON_String_Fast_Hash/100 1.0577658537535193 ns/iter 0.8188005510492895 ns/iter 1.29
JSON_String_Key_Hash/10 1.7603167721154587 ns/iter 1.3648500994699089 ns/iter 1.29
JSON_String_Key_Hash/100 14.7710269830449 ns/iter 11.67954016221623 ns/iter 1.26
JSON_Object_Defines_Miss_Same_Length 3.8730686758183963 ns/iter 3.0027773502950366 ns/iter 1.29
JSON_Object_Defines_Miss_Too_Small 4.227593754172065 ns/iter 3.2745459550102396 ns/iter 1.29
JSON_Object_Defines_Miss_Too_Large 3.529605631721042 ns/iter 2.728573026859333 ns/iter 1.29
Regex_Lower_S_Or_Upper_S_Asterisk 1.0561662181151952 ns/iter 0.8188595775210362 ns/iter 1.29
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.0557511247792197 ns/iter 0.8180272182533145 ns/iter 1.29
Regex_Period_Asterisk 0.7053808796991619 ns/iter 0.5455086096262912 ns/iter 1.29
Regex_Group_Period_Asterisk_Group 0.7040049052359232 ns/iter 0.5463970203209984 ns/iter 1.29
Regex_Period_Plus 1.1347585605653387 ns/iter 0.8179611650684585 ns/iter 1.39
Regex_Period 1.0847182087159437 ns/iter 0.8181898237872706 ns/iter 1.33
Regex_Caret_Period_Plus_Dollar 0.7048289986224647 ns/iter 0.545914760853015 ns/iter 1.29
Regex_Caret_Group_Period_Plus_Group_Dollar 0.704251001334093 ns/iter 0.5458605236851984 ns/iter 1.29
Regex_Caret_Period_Asterisk_Dollar 1.0570193116864963 ns/iter 0.8187237561547237 ns/iter 1.29
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.0552315624924358 ns/iter 0.8190882545230909 ns/iter 1.29
Regex_Caret_X_Hyphen 4.574066504147237 ns/iter 3.2731549212656783 ns/iter 1.40
Regex_Period_Md_Dollar 34.23132231811154 ns/iter 28.512128945815416 ns/iter 1.20
Regex_Caret_Slash_Period_Asterisk 3.874433354850769 ns/iter 2.727764932609776 ns/iter 1.42
Regex_Caret_Period_Range_Dollar 1.055712521252537 ns/iter 0.8187250132863849 ns/iter 1.29
Regex_Nested_Backtrack 38.0609331580364 ns/iter 33.46222442864931 ns/iter 1.14

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: c3d0491 Previous: 39431ca Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.195882677776025 ns/iter 2.4660408012839348 ns/iter 0.89
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.2106648121537873 ns/iter 2.463995944945357 ns/iter 0.90
Regex_Period_Asterisk 2.1900184355936223 ns/iter 2.46534170256471 ns/iter 0.89
Regex_Group_Period_Asterisk_Group 2.2005655002886466 ns/iter 2.4623954496522193 ns/iter 0.89
Regex_Period_Plus 2.8106376410287153 ns/iter 3.8682404037039304 ns/iter 0.73
Regex_Period 3.1145887460194297 ns/iter 4.218860874181633 ns/iter 0.74
Regex_Caret_Period_Plus_Dollar 2.8012789626598162 ns/iter 3.87021254547123 ns/iter 0.72
Regex_Caret_Group_Period_Plus_Group_Dollar 3.1130222328923978 ns/iter 4.216649427921897 ns/iter 0.74
Regex_Caret_Period_Asterisk_Dollar 3.1187071391816916 ns/iter 2.4606693219141254 ns/iter 1.27
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.422690590765394 ns/iter 2.8155550518108017 ns/iter 1.22
Regex_Caret_X_Hyphen 6.542947231011224 ns/iter 7.032812047818567 ns/iter 0.93
Regex_Period_Md_Dollar 27.758850770596222 ns/iter 26.622303335897634 ns/iter 1.04
Regex_Caret_Slash_Period_Asterisk 5.603861918092948 ns/iter 7.368631510073414 ns/iter 0.76
Regex_Caret_Period_Range_Dollar 2.800736208670448 ns/iter 2.463761790421221 ns/iter 1.14
Regex_Nested_Backtrack 37.05304874448413 ns/iter 36.763226894875636 ns/iter 1.01
JSON_Array_Of_Objects_Unique 406.3105105736628 ns/iter 440.31001921175044 ns/iter 0.92
JSON_Parse_1 5869.550964577903 ns/iter 5860.361392307404 ns/iter 1.00
JSON_Parse_Real 10758.975476421316 ns/iter 10399.55966369214 ns/iter 1.03
JSON_Parse_Decimal 11289.630172958505 ns/iter 11612.458508932606 ns/iter 0.97
JSON_Parse_Schema_ISO_Language 3560934.8571428577 ns/iter 3758326.2956987806 ns/iter 0.95
JSON_Fast_Hash_Helm_Chart_Lock 61.027367536640924 ns/iter 73.47938464758258 ns/iter 0.83
JSON_Equality_Helm_Chart_Lock 157.8150746073325 ns/iter 161.20876604913954 ns/iter 0.98
JSON_Divisible_By_Decimal 239.7940613331961 ns/iter 239.65813945830396 ns/iter 1.00
JSON_String_Equal/10 6.232597910178329 ns/iter 6.331795279367821 ns/iter 0.98
JSON_String_Equal/100 6.85628301848871 ns/iter 7.038941698665199 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 0.936123114985654 ns/iter 1.0546241710565007 ns/iter 0.89
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.273080236753422 ns/iter 12.47756452333512 ns/iter 0.82
JSON_String_Fast_Hash/10 2.8011985344156973 ns/iter 2.8152939298512125 ns/iter 0.99
JSON_String_Fast_Hash/100 2.8017109711528696 ns/iter 2.818106948039136 ns/iter 0.99
JSON_String_Key_Hash/10 2.1812106589229616 ns/iter 2.461388768111574 ns/iter 0.89
JSON_String_Key_Hash/100 6.53573628924839 ns/iter 8.084461204501201 ns/iter 0.81
JSON_Object_Defines_Miss_Same_Length 3.740238167571903 ns/iter 4.2218176661474125 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Small 3.742938762217144 ns/iter 4.229099742018546 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Large 3.7396779122597565 ns/iter 4.220842893103267 ns/iter 0.89
Pointer_Object_Traverse 24.154118215016897 ns/iter 27.324502947423014 ns/iter 0.88
Pointer_Object_Try_Traverse 26.22565575784359 ns/iter 30.206886605057218 ns/iter 0.87
Pointer_Push_Back_Pointer_To_Weak_Pointer 152.2042945543237 ns/iter 190.09368235292308 ns/iter 0.80
Pointer_Walker_Schema_ISO_Language 2990682.578723515 ns/iter 3088562.500000024 ns/iter 0.97
Pointer_Maybe_Tracked_Deeply_Nested/0 1393782.246988034 ns/iter 1409522.2351737788 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/1 1783707.2930591167 ns/iter 1722168.2266010582 ns/iter 1.04
Pointer_Position_Tracker_Get_Deeply_Nested 579.7860652106492 ns/iter 650.5874328910945 ns/iter 0.89
URITemplateRouter_Create 30999.221528450467 ns/iter 30350.605392260633 ns/iter 1.02
URITemplateRouter_Match 168.86015454679782 ns/iter 182.10819686325326 ns/iter 0.93
URITemplateRouter_Match_BasePath 196.92280715760722 ns/iter 223.54648703662755 ns/iter 0.88
URITemplateRouterView_Restore 7805.611375292307 ns/iter 8598.887419633022 ns/iter 0.91
URITemplateRouterView_Match 141.8149224542968 ns/iter 147.42242667666528 ns/iter 0.96
URITemplateRouterView_Match_BasePath 160.31106841783028 ns/iter 169.74799878748146 ns/iter 0.94
URITemplateRouterView_Arguments 478.48425689678743 ns/iter 470.3557217429083 ns/iter 1.02
JSONL_Parse_Large 10732836.846154196 ns/iter 10121653.042857101 ns/iter 1.06
JSONL_Parse_Large_GZIP 11935705.288135717 ns/iter 11392978.770491809 ns/iter 1.05
HTML_Build_Table_100000 66239006.63636174 ns/iter 83421942.87499893 ns/iter 0.79
HTML_Render_Table_100000 5404881.612403293 ns/iter 5049850.288732156 ns/iter 1.07
GZIP_Compress_ISO_Language_Set_3_Locations 34293674.15000115 ns/iter 36381361.36842269 ns/iter 0.94
GZIP_Decompress_ISO_Language_Set_3_Locations 4683632.671052943 ns/iter 4675728.026845474 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Schema 1903272.4864129962 ns/iter 2151822.9631902245 ns/iter 0.88
GZIP_Decompress_ISO_Language_Set_3_Schema 373453.45405987406 ns/iter 296422.5513146701 ns/iter 1.26

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: c3d0491 Previous: 99fe545 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 8.88428165676661 ns/iter 8.819669157055579 ns/iter 1.01
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 8.835612014130861 ns/iter 8.827964285710468 ns/iter 1.00
Regex_Period_Asterisk 8.830702008931928 ns/iter 8.825773437501587 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 8.900078124999109 ns/iter 8.821351562500825 ns/iter 1.01
Regex_Period_Plus 11.285464062495976 ns/iter 11.297090625006945 ns/iter 1.00
Regex_Period 11.283889285713096 ns/iter 11.2827031250049 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 11.282417187501892 ns/iter 11.282284374999563 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 11.282098437504828 ns/iter 11.28819999999564 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 8.822207103467173 ns/iter 8.825457589287971 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 8.824657366070758 ns/iter 8.822438616066718 ns/iter 1.00
Regex_Caret_X_Hyphen 13.748894135037887 ns/iter 13.521689285718303 ns/iter 1.02
Regex_Period_Md_Dollar 41.10978676588976 ns/iter 40.43477107721573 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 13.064261325608756 ns/iter 13.048321428576465 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 11.282329687489323 ns/iter 11.280021874995327 ns/iter 1.00
Regex_Nested_Backtrack 50.267468413364575 ns/iter 49.82385000002978 ns/iter 1.01
JSON_Array_Of_Objects_Unique 492.8995999998733 ns/iter 493.42320000050677 ns/iter 1.00
JSON_Parse_1 7541.584000000511 ns/iter 8439.448660715649 ns/iter 0.89
JSON_Parse_Real 13653.791071419619 ns/iter 14040.514285706455 ns/iter 0.97
JSON_Parse_Decimal 14534.459821423492 ns/iter 14113.590341114439 ns/iter 1.03
JSON_Parse_Schema_ISO_Language 6678021.428578111 ns/iter 6035983.928573581 ns/iter 1.11
JSON_Fast_Hash_Helm_Chart_Lock 57.762562499955756 ns/iter 56.93657142858553 ns/iter 1.01
JSON_Equality_Helm_Chart_Lock 273.9986395538425 ns/iter 270.1617468678469 ns/iter 1.01
JSON_Divisible_By_Decimal 253.4471428569824 ns/iter 253.35453571447684 ns/iter 1.00
JSON_String_Equal/10 11.433879687501758 ns/iter 11.815035937502216 ns/iter 0.97
JSON_String_Equal/100 13.144005744887266 ns/iter 12.919925000005605 ns/iter 1.02
JSON_String_Equal_Small_By_Perfect_Hash/10 1.7817887500001461 ns/iter 1.7684222078472083 ns/iter 1.01
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 11.341650000005643 ns/iter 11.355592187499042 ns/iter 1.00
JSON_String_Fast_Hash/10 3.6412260044674634 ns/iter 3.5289988776279655 ns/iter 1.03
JSON_String_Fast_Hash/100 3.841048766318128 ns/iter 3.5292308873398555 ns/iter 1.09
JSON_String_Key_Hash/10 4.246380000000727 ns/iter 4.2442318507805386 ns/iter 1.00
JSON_String_Key_Hash/100 16.926966850931148 ns/iter 16.929242966989683 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.9010949982546856 ns/iter 3.9792539062487107 ns/iter 0.98
JSON_Object_Defines_Miss_Too_Small 3.9748560267887405 ns/iter 3.93990736607159 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Large 5.038432000001194 ns/iter 4.972357999995438 ns/iter 1.01
Pointer_Object_Traverse 42.040361021377144 ns/iter 42.07021771705068 ns/iter 1.00
Pointer_Object_Try_Traverse 53.4370499999568 ns/iter 53.442401785689846 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 153.66991055056988 ns/iter 149.8249330357534 ns/iter 1.03
Pointer_Walker_Schema_ISO_Language 13607016.000005389 ns/iter 12028767.857145796 ns/iter 1.13
Pointer_Maybe_Tracked_Deeply_Nested/0 2031682.196971043 ns/iter 2001446.428572048 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/1 3048901.6949143093 ns/iter 2960364.406778924 ns/iter 1.03
Pointer_Position_Tracker_Get_Deeply_Nested 639.1280133927677 ns/iter 623.7459821422574 ns/iter 1.02
URITemplateRouter_Create 37105.63712908334 ns/iter 37584.9734826395 ns/iter 0.99
URITemplateRouter_Match 224.46203125014108 ns/iter 211.74671875002105 ns/iter 1.06
URITemplateRouter_Match_BasePath 253.9454800865472 ns/iter 249.6257500001775 ns/iter 1.02
URITemplateRouterView_Restore 23278.173234674887 ns/iter 23476.41209359377 ns/iter 0.99
URITemplateRouterView_Match 154.4188169644047 ns/iter 158.51756696422723 ns/iter 0.97
URITemplateRouterView_Match_BasePath 183.42315030564794 ns/iter 181.12753402938242 ns/iter 1.01
URITemplateRouterView_Arguments 443.46956424944835 ns/iter 443.1125625001187 ns/iter 1.00
JSONL_Parse_Large 26895495.999997362 ns/iter 29009604.16665536 ns/iter 0.93
JSONL_Parse_Large_GZIP 26687235.714299668 ns/iter 28639424.999975443 ns/iter 0.93
HTML_Build_Table_100000 92179533.33336481 ns/iter 90987200.00006974 ns/iter 1.01
HTML_Render_Table_100000 8264331.99999883 ns/iter 7949014.444440965 ns/iter 1.04
GZIP_Compress_ISO_Language_Set_3_Locations 43896312.50001003 ns/iter 43641431.24996644 ns/iter 1.01
GZIP_Decompress_ISO_Language_Set_3_Locations 11726789.062507236 ns/iter 11588262.499998337 ns/iter 1.01
GZIP_Compress_ISO_Language_Set_3_Schema 2530099.2857117825 ns/iter 2541644.2857151977 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 706875.8928576407 ns/iter 696216.1830362641 ns/iter 1.02

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

@jviotti jviotti merged commit 8018e9d into main May 21, 2026
13 checks passed
@jviotti jviotti deleted the debug-flags branch May 21, 2026 21:40
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