Skip to content

Turn make_set into a constexpr helper - #2772

Merged
jviotti merged 1 commit into
mainfrom
make-set-constexpr
Aug 27, 2026
Merged

Turn make_set into a constexpr helper#2772
jviotti merged 1 commit into
mainfrom
make-set-constexpr

Conversation

@jviotti

@jviotti jviotti commented Aug 27, 2026

Copy link
Copy Markdown
Member

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

Review in cubic

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

augmentcode Bot commented Aug 27, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Marks the header-only make_set helper as constexpr, allowing JSON type sets to be constructed during constant evaluation.
Changes: Adds compile-time assertions confirming selected and unselected JSON::Type values are represented correctly.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. No suggestions at this time.

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

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 2 files

Re-trigger cubic

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 79299db Previous: 277dcfa Ratio
JOSE_VerifySignature_RS256 24501.43378608039 ns/iter 22142.54186259188 ns/iter 1.11
JOSE_VerifySignature_ES512 641384.9277219626 ns/iter 576120.6255144144 ns/iter 1.11
GZIP_Compress_ISO_Language_Set_3_Locations 39262906.83332607 ns/iter 36499236.684209645 ns/iter 1.08
GZIP_Decompress_ISO_Language_Set_3_Locations 4050529.6011568434 ns/iter 4202587.493975774 ns/iter 0.96
GZIP_Compress_ISO_Language_Set_3_Schema 2281280.2467534347 ns/iter 2050828.451894993 ns/iter 1.11
GZIP_Decompress_ISO_Language_Set_3_Schema 322475.58367682825 ns/iter 376016.8988159374 ns/iter 0.86
HTML_Build_Table_100000 66875161.60000087 ns/iter 55696967.45454745 ns/iter 1.20
HTML_Render_Table_100000 1999556.8563374523 ns/iter 1821448.597964248 ns/iter 1.10
JSONLD_Catalog_Annotation_List_Populate 687279.2628516209 ns/iter 691204.464143438 ns/iter 0.99
JSONLD_Catalog_Materialize 3432438.3284311523 ns/iter 3439516.4427859536 ns/iter 1.00
JSONL_Parse_Large 9110212.70129905 ns/iter 10040723.927536452 ns/iter 0.91
JSONL_Parse_Large_GZIP 10687325.523076652 ns/iter 11286104.854838002 ns/iter 0.95
URITemplateRouter_Create 20304.211256164326 ns/iter 21323.066179579237 ns/iter 0.95
URITemplateRouter_Match 160.62318804977818 ns/iter 157.76107704042872 ns/iter 1.02
URITemplateRouter_Match_BasePath 187.43196593975205 ns/iter 186.85085367329694 ns/iter 1.00
URITemplateRouterView_Restore 9874.846839961594 ns/iter 8484.773365041792 ns/iter 1.16
URITemplateRouterView_Match 126.28132630094301 ns/iter 124.91005017612417 ns/iter 1.01
URITemplateRouterView_Match_BasePath 144.65585746335574 ns/iter 146.82776818503865 ns/iter 0.99
URITemplateRouterView_Arguments 461.9700611233534 ns/iter 475.26144621093783 ns/iter 0.97
JSONPath_Descendant_Filter_Nested 1689.7286480050955 ns/iter 1653.1497041214286 ns/iter 1.02
Pointer_Object_Traverse 26.02912907862962 ns/iter 25.341647613870254 ns/iter 1.03
Pointer_Object_Try_Traverse 25.66618425599104 ns/iter 23.237413843863457 ns/iter 1.10
Pointer_Push_Back_Pointer_To_Weak_Pointer 135.5861892813767 ns/iter 132.0780682196118 ns/iter 1.03
Pointer_Walker_Schema_ISO_Language 1341585.3960783782 ns/iter 1426898.393814432 ns/iter 0.94
Pointer_Maybe_Tracked_Deeply_Nested/0 1225190.3426575353 ns/iter 1195727.2862010424 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/1 1641033.38173349 ns/iter 1715185.6985293534 ns/iter 0.96
Pointer_Position_Tracker_Get_Deeply_Nested 654.2950273132452 ns/iter 593.3778900418647 ns/iter 1.10
JSON_Array_Of_Objects_Unique 443.94786919166876 ns/iter 463.94169744031325 ns/iter 0.96
JSON_Parse_1 4976.794332465206 ns/iter 5306.023182568097 ns/iter 0.94
JSON_Parse_Real 5547.338056293468 ns/iter 5744.4907617609615 ns/iter 0.97
JSON_Parse_Decimal 8999.71920738001 ns/iter 10449.320629808471 ns/iter 0.86
JSON_Parse_Schema_ISO_Language 3557245.909090889 ns/iter 3560792.84693888 ns/iter 1.00
JSON_Parse_Integer 3753.9623019378323 ns/iter 3754.0596911051807 ns/iter 1.00
JSON_Parse_String_NonSSO_Plain 3300.2779871189955 ns/iter 3234.5547781247833 ns/iter 1.02
JSON_Parse_String_SSO_Plain 2762.3297307121907 ns/iter 2983.0567140742596 ns/iter 0.93
JSON_Parse_String_Escape_Heavy 16141.619974990781 ns/iter 16628.089064395866 ns/iter 0.97
JSON_Parse_Object_Short_Keys 8631.875229560363 ns/iter 8382.843436942832 ns/iter 1.03
JSON_Parse_Object_Scalar_Properties 4372.817613029094 ns/iter 4262.719174034087 ns/iter 1.03
JSON_Parse_Object_Array_Properties 6554.314604845502 ns/iter 6468.469320648156 ns/iter 1.01
JSON_Parse_Object_Object_Properties 6470.677991246849 ns/iter 6526.70593661751 ns/iter 0.99
JSON_Parse_Nested_Containers 39303.82458602273 ns/iter 39009.04825124282 ns/iter 1.01
JSON_From_String_Copy 9.324260038296973 ns/iter 8.539187831592717 ns/iter 1.09
JSON_From_String_Temporary 8.001502349088875 ns/iter 7.198339933859324 ns/iter 1.11
JSON_Number_To_Double 19.735654632135276 ns/iter 20.61241130004542 ns/iter 0.96
JSON_Object_At_Last_Key/8 4.1967373291468455 ns/iter 3.75210185509595 ns/iter 1.12
JSON_Object_At_Last_Key/32 13.365588805570562 ns/iter 11.904726371500221 ns/iter 1.12
JSON_Object_At_Last_Key/128 47.45952795961821 ns/iter 48.64885653290853 ns/iter 0.98
JSON_Object_At_Last_Key/512 288.34651582244845 ns/iter 357.38457974833364 ns/iter 0.81
JSON_Fast_Hash_Helm_Chart_Lock 84.04082135569126 ns/iter 71.93937852229845 ns/iter 1.17
JSON_Equality_Helm_Chart_Lock 155.35783367416946 ns/iter 147.89774236107243 ns/iter 1.05
JSON_Divisible_By_Decimal 256.1049578630816 ns/iter 258.1492850769705 ns/iter 0.99
JSON_String_Equal/10 5.366909771724374 ns/iter 5.3760195649538565 ns/iter 1.00
JSON_String_Equal/100 6.069504861394722 ns/iter 5.9986705876013335 ns/iter 1.01
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7116839151292675 ns/iter 0.7396123435496836 ns/iter 0.96
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 22.018864569554033 ns/iter 25.198216700966878 ns/iter 0.87
JSON_String_Fast_Hash/10 3.246578499776052 ns/iter 3.154025806087578 ns/iter 1.03
JSON_String_Fast_Hash/100 3.2584596113751387 ns/iter 3.1537780685804564 ns/iter 1.03
JSON_String_Key_Hash/10 1.7587621726198523 ns/iter 1.5586444885225135 ns/iter 1.13
JSON_String_Key_Hash/100 14.765791743406977 ns/iter 12.44155173231781 ns/iter 1.19
JSON_Object_Defines_Miss_Same_Length 3.164776990538 ns/iter 3.425768712581588 ns/iter 0.92
JSON_Object_Defines_Miss_Too_Small 3.164544336998521 ns/iter 3.112229685777436 ns/iter 1.02
JSON_Object_Defines_Miss_Too_Large 3.1656285554586017 ns/iter 3.4384539694011553 ns/iter 0.92
Regex_Lower_S_Or_Upper_S_Asterisk 0.7032235231406133 ns/iter 0.6229299058053821 ns/iter 1.13
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.7033885344877792 ns/iter 0.6229323793460974 ns/iter 1.13
Regex_Period_Asterisk 0.7031560567446408 ns/iter 0.6277942176080364 ns/iter 1.12
Regex_Group_Period_Asterisk_Group 0.7031461395859926 ns/iter 0.622715661168393 ns/iter 1.13
Regex_Period_Plus 0.7030709997604131 ns/iter 0.6235504736066206 ns/iter 1.13
Regex_Period 0.7027615772177932 ns/iter 0.6233938672415561 ns/iter 1.13
Regex_Caret_Period_Plus_Dollar 0.7032876784620054 ns/iter 0.6226622948023134 ns/iter 1.13
Regex_Caret_Group_Period_Plus_Group_Dollar 0.703511822239529 ns/iter 0.6223116085693834 ns/iter 1.13
Regex_Caret_Period_Asterisk_Dollar 0.7066538365145664 ns/iter 0.622868275071395 ns/iter 1.13
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.7033740738180706 ns/iter 0.6229263622307738 ns/iter 1.13
Regex_Caret_X_Hyphen 3.867407597110609 ns/iter 3.7430368994793928 ns/iter 1.03
Regex_Period_Md_Dollar 34.09675361928418 ns/iter 28.659272369772616 ns/iter 1.19
Regex_Caret_Slash_Period_Asterisk 3.8681169647521014 ns/iter 4.045456915885311 ns/iter 0.96
Regex_Caret_Period_Range_Dollar 1.4069458273992277 ns/iter 1.2456851505967468 ns/iter 1.13
Regex_Nested_Backtrack 41.595246820634316 ns/iter 38.319256596299375 ns/iter 1.09

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

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 79299db Previous: 277dcfa Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.469902256044797 ns/iter 1.9181853600315886 ns/iter 1.29
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.4615887756021064 ns/iter 1.9112294276952084 ns/iter 1.29
Regex_Period_Asterisk 2.461421937332344 ns/iter 1.9094644321971164 ns/iter 1.29
Regex_Group_Period_Asterisk_Group 2.461617055286731 ns/iter 1.9089827512602862 ns/iter 1.29
Regex_Period_Plus 3.9131512467529674 ns/iter 3.0033749228450675 ns/iter 1.30
Regex_Period 3.8669835536932 ns/iter 2.9994044961086614 ns/iter 1.29
Regex_Caret_Period_Plus_Dollar 3.8666688217117233 ns/iter 3.00184955365982 ns/iter 1.29
Regex_Caret_Group_Period_Plus_Group_Dollar 3.8718687167990584 ns/iter 3.0001307173837772 ns/iter 1.29
Regex_Caret_Period_Asterisk_Dollar 2.4614481026667097 ns/iter 1.9083102422207856 ns/iter 1.29
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.472845186385254 ns/iter 1.9121335854052295 ns/iter 1.29
Regex_Caret_X_Hyphen 6.86827434613451 ns/iter 5.52523578532766 ns/iter 1.24
Regex_Period_Md_Dollar 26.699616037895066 ns/iter 20.482951043915353 ns/iter 1.30
Regex_Caret_Slash_Period_Asterisk 7.193881216308879 ns/iter 5.371860177772568 ns/iter 1.34
Regex_Caret_Period_Range_Dollar 3.87267520256113 ns/iter 3.0006133676978335 ns/iter 1.29
Regex_Nested_Backtrack 39.4028607670762 ns/iter 30.29401514158706 ns/iter 1.30
JSON_Array_Of_Objects_Unique 476.6047809036159 ns/iter 365.9147895239432 ns/iter 1.30
JSON_Parse_1 4273.798382463126 ns/iter 3398.4358693863664 ns/iter 1.26
JSON_Parse_Real 5017.5824104139565 ns/iter 3886.0265523172393 ns/iter 1.29
JSON_Parse_Decimal 7941.700261690176 ns/iter 5652.681646730046 ns/iter 1.40
JSON_Parse_Schema_ISO_Language 3337352.2606635774 ns/iter 2677612.5961539233 ns/iter 1.25
JSON_Parse_Integer 3753.3866075443993 ns/iter 2917.232662442655 ns/iter 1.29
JSON_Parse_String_NonSSO_Plain 3094.2884785008987 ns/iter 2449.7759435026974 ns/iter 1.26
JSON_Parse_String_SSO_Plain 2771.630438247028 ns/iter 2165.5794123747974 ns/iter 1.28
JSON_Parse_String_Escape_Heavy 11956.357424979236 ns/iter 9336.689392324124 ns/iter 1.28
JSON_Parse_Object_Short_Keys 7742.534738235163 ns/iter 6250.833956367148 ns/iter 1.24
JSON_Parse_Object_Scalar_Properties 4118.379698194599 ns/iter 3076.779291253829 ns/iter 1.34
JSON_Parse_Object_Array_Properties 5390.5306566211075 ns/iter 4232.013115684756 ns/iter 1.27
JSON_Parse_Object_Object_Properties 5369.106690555776 ns/iter 4325.605396138325 ns/iter 1.24
JSON_Parse_Nested_Containers 34255.49906899126 ns/iter 26565.24865662569 ns/iter 1.29
JSON_From_String_Copy 12.188289707747117 ns/iter 9.781439517255492 ns/iter 1.25
JSON_From_String_Temporary 10.142269727985823 ns/iter 7.738580811987095 ns/iter 1.31
JSON_Number_To_Double 22.835321013591294 ns/iter 18.43866449522373 ns/iter 1.24
JSON_Object_At_Last_Key/8 4.034771209808706 ns/iter 3.134312975029245 ns/iter 1.29
JSON_Object_At_Last_Key/32 13.25799854872398 ns/iter 10.245562723041056 ns/iter 1.29
JSON_Object_At_Last_Key/128 46.88398415719409 ns/iter 37.28853985805587 ns/iter 1.26
JSON_Object_At_Last_Key/512 354.1756923925737 ns/iter 276.8803559679589 ns/iter 1.28
JSON_Fast_Hash_Helm_Chart_Lock 66.11077820927245 ns/iter 51.560126654451054 ns/iter 1.28
JSON_Equality_Helm_Chart_Lock 163.1153470805794 ns/iter 122.87012765694224 ns/iter 1.33
JSON_Divisible_By_Decimal 249.49657661451963 ns/iter 195.47569863891553 ns/iter 1.28
JSON_String_Equal/10 5.628349517831564 ns/iter 4.363119031372345 ns/iter 1.29
JSON_String_Equal/100 6.343514933544368 ns/iter 5.258780282862443 ns/iter 1.21
JSON_String_Equal_Small_By_Perfect_Hash/10 1.0557717057368357 ns/iter 0.8176194127874489 ns/iter 1.29
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.364137725967781 ns/iter 9.570067844136068 ns/iter 1.29
JSON_String_Fast_Hash/10 2.111298586110501 ns/iter 1.6377601977630696 ns/iter 1.29
JSON_String_Fast_Hash/100 2.1134079921763442 ns/iter 1.6367394959913086 ns/iter 1.29
JSON_String_Key_Hash/10 2.4633354449134854 ns/iter 1.9106764180762432 ns/iter 1.29
JSON_String_Key_Hash/100 8.085327086954722 ns/iter 6.348993466870784 ns/iter 1.27
JSON_Object_Defines_Miss_Same_Length 4.243928482696684 ns/iter 3.275025881614097 ns/iter 1.30
JSON_Object_Defines_Miss_Too_Small 3.19195950551363 ns/iter 2.477762820074232 ns/iter 1.29
JSON_Object_Defines_Miss_Too_Large 2.9241489673916035 ns/iter 2.3113276533947924 ns/iter 1.27
Pointer_Object_Traverse 30.870905938688786 ns/iter 23.72170150653632 ns/iter 1.30
Pointer_Object_Try_Traverse 32.72396793586757 ns/iter 25.305981366902802 ns/iter 1.29
Pointer_Push_Back_Pointer_To_Weak_Pointer 181.58642529524505 ns/iter 141.02652229828053 ns/iter 1.29
Pointer_Walker_Schema_ISO_Language 1565570.7060133908 ns/iter 1172978.3706176498 ns/iter 1.33
Pointer_Maybe_Tracked_Deeply_Nested/0 1239780.402116278 ns/iter 991026.3114525513 ns/iter 1.25
Pointer_Maybe_Tracked_Deeply_Nested/1 1702555.6658475755 ns/iter 1557246.511627922 ns/iter 1.09
Pointer_Position_Tracker_Get_Deeply_Nested 701.9710851632468 ns/iter 541.6988023682211 ns/iter 1.30
JSONPath_Descendant_Filter_Nested 1551.9280043749695 ns/iter 1602.1449673298605 ns/iter 0.97
URITemplateRouter_Create 22383.262435407072 ns/iter 16506.554584540656 ns/iter 1.36
URITemplateRouter_Match 187.25733246756957 ns/iter 132.16381275387417 ns/iter 1.42
URITemplateRouter_Match_BasePath 226.9097641695816 ns/iter 161.41349414220028 ns/iter 1.41
URITemplateRouterView_Restore 9782.277881470833 ns/iter 7601.808303275892 ns/iter 1.29
URITemplateRouterView_Match 145.79744249794402 ns/iter 107.91263490341238 ns/iter 1.35
URITemplateRouterView_Match_BasePath 172.74700264665304 ns/iter 122.22118456498347 ns/iter 1.41
URITemplateRouterView_Arguments 457.9555908009016 ns/iter 351.3883442603765 ns/iter 1.30
JSONL_Parse_Large 8691558.44444507 ns/iter 6997238.120000021 ns/iter 1.24
JSONL_Parse_Large_GZIP 10415005.17910595 ns/iter 8397440.759036256 ns/iter 1.24
JSONLD_Catalog_Annotation_List_Populate 583305.8911789375 ns/iter 452025.81976745266 ns/iter 1.29
JSONLD_Catalog_Materialize 3510661.034999884 ns/iter 2707946.451361815 ns/iter 1.30
HTML_Build_Table_100000 63918556.90000057 ns/iter 53201337.91666611 ns/iter 1.20
HTML_Render_Table_100000 2093197.303523313 ns/iter 1860802.387862849 ns/iter 1.12
GZIP_Compress_ISO_Language_Set_3_Locations 35725850.90000189 ns/iter 27734522.120001655 ns/iter 1.29
GZIP_Decompress_ISO_Language_Set_3_Locations 4285491.573170929 ns/iter 3309985.660377353 ns/iter 1.29
GZIP_Compress_ISO_Language_Set_3_Schema 2150597.792682752 ns/iter 1678470.4066194256 ns/iter 1.28
GZIP_Decompress_ISO_Language_Set_3_Schema 277042.51483973203 ns/iter 214506.78258202595 ns/iter 1.29
JOSE_VerifySignature_RS256 63987.050054698986 ns/iter 49845.011819152816 ns/iter 1.28
JOSE_VerifySignature_ES512 2650361.1742426893 ns/iter 2177281.0621118466 ns/iter 1.22

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

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 79299db Previous: 277dcfa Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.48728556948739 ns/iter 1.9332381097398277 ns/iter 1.29
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.5592928858492967 ns/iter 2.0948775473258503 ns/iter 1.22
Regex_Period_Asterisk 2.1878922918987596 ns/iter 2.325250672071426 ns/iter 0.94
Regex_Group_Period_Asterisk_Group 2.5694621823538624 ns/iter 2.0154577376641245 ns/iter 1.27
Regex_Period_Plus 2.700750695566911 ns/iter 2.21950958088179 ns/iter 1.22
Regex_Period 2.483345422056531 ns/iter 2.4280664102530545 ns/iter 1.02
Regex_Caret_Period_Plus_Dollar 2.5289686287483146 ns/iter 2.5126673758749654 ns/iter 1.01
Regex_Caret_Group_Period_Plus_Group_Dollar 2.409145044635175 ns/iter 2.3909859186840206 ns/iter 1.01
Regex_Caret_Period_Asterisk_Dollar 2.295760272342022 ns/iter 1.8771156713588055 ns/iter 1.22
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.0974511413994636 ns/iter 1.9002928726079957 ns/iter 1.10
Regex_Caret_X_Hyphen 7.8526644152481415 ns/iter 6.985958252578214 ns/iter 1.12
Regex_Period_Md_Dollar 31.45779869280495 ns/iter 22.85185542610622 ns/iter 1.38
Regex_Caret_Slash_Period_Asterisk 7.639186007930467 ns/iter 6.2705862500001786 ns/iter 1.22
Regex_Caret_Period_Range_Dollar 2.7233647536719388 ns/iter 2.761162525930182 ns/iter 0.99
Regex_Nested_Backtrack 36.225816896358396 ns/iter 32.42920556773078 ns/iter 1.12
JSON_Array_Of_Objects_Unique 461.34327862303815 ns/iter 358.88490489860123 ns/iter 1.29
JSON_Parse_1 4546.889491845239 ns/iter 3522.4216769790264 ns/iter 1.29
JSON_Parse_Real 6889.752285597981 ns/iter 5277.799290828326 ns/iter 1.31
JSON_Parse_Decimal 7262.585870390561 ns/iter 5561.724654496576 ns/iter 1.31
JSON_Parse_Schema_ISO_Language 3180419.70114941 ns/iter 2160626.2870369195 ns/iter 1.47
JSON_Parse_Integer 4245.733490960524 ns/iter 3134.222822620523 ns/iter 1.35
JSON_Parse_String_NonSSO_Plain 3824.0017578944294 ns/iter 3014.884412009059 ns/iter 1.27
JSON_Parse_String_SSO_Plain 2268.0359476650847 ns/iter 1684.0426331077472 ns/iter 1.35
JSON_Parse_String_Escape_Heavy 23131.37903249165 ns/iter 16325.551028471766 ns/iter 1.42
JSON_Parse_Object_Short_Keys 8472.764622843159 ns/iter 5622.305580331713 ns/iter 1.51
JSON_Parse_Object_Scalar_Properties 4122.993749727012 ns/iter 2921.9180084549985 ns/iter 1.41
JSON_Parse_Object_Array_Properties 6090.778954193449 ns/iter 3486.0581098339585 ns/iter 1.75
JSON_Parse_Object_Object_Properties 6280.467557616918 ns/iter 3572.5995390949056 ns/iter 1.76
JSON_Parse_Nested_Containers 42401.391885416335 ns/iter 28298.96714772664 ns/iter 1.50
JSON_From_String_Copy 21.46555381444161 ns/iter 12.164658615796256 ns/iter 1.76
JSON_From_String_Temporary 13.187416833375616 ns/iter 6.97313490120083 ns/iter 1.89
JSON_Number_To_Double 56.69173750000027 ns/iter 33.539996323820276 ns/iter 1.69
JSON_Object_At_Last_Key/8 5.970074580000072 ns/iter 4.0950131305016555 ns/iter 1.46
JSON_Object_At_Last_Key/32 21.724400442004665 ns/iter 12.065538422238077 ns/iter 1.80
JSON_Object_At_Last_Key/128 102.0705858061652 ns/iter 55.76548368925185 ns/iter 1.83
JSON_Object_At_Last_Key/512 301.2229255089399 ns/iter 189.10392046727083 ns/iter 1.59
JSON_Fast_Hash_Helm_Chart_Lock 78.1341618059675 ns/iter 61.63236279454583 ns/iter 1.27
JSON_Equality_Helm_Chart_Lock 241.68899326304376 ns/iter 172.16419117586253 ns/iter 1.40
JSON_Divisible_By_Decimal 276.45752374387695 ns/iter 188.26608751548633 ns/iter 1.47
JSON_String_Equal/10 11.803244473471029 ns/iter 6.883251152076323 ns/iter 1.71
JSON_String_Equal/100 10.735161263287592 ns/iter 6.868416452034061 ns/iter 1.56
JSON_String_Equal_Small_By_Perfect_Hash/10 0.49065610649808705 ns/iter 0.3609485403648919 ns/iter 1.36
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.993152622163841 ns/iter 3.239422691155356 ns/iter 1.54
JSON_String_Fast_Hash/10 3.7027351170492655 ns/iter 2.40723985150104 ns/iter 1.54
JSON_String_Fast_Hash/100 2.9472251409747416 ns/iter 2.042614136929667 ns/iter 1.44
JSON_String_Key_Hash/10 2.637485806584852 ns/iter 1.684154233583864 ns/iter 1.57
JSON_String_Key_Hash/100 3.5081472459351217 ns/iter 2.307926525867135 ns/iter 1.52
JSON_Object_Defines_Miss_Same_Length 3.9058936975840894 ns/iter 3.193932369368019 ns/iter 1.22
JSON_Object_Defines_Miss_Too_Small 3.5745703838663516 ns/iter 3.4008010627401712 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Large 3.815024068801892 ns/iter 3.3820902345983628 ns/iter 1.13
Pointer_Object_Traverse 28.997810699840205 ns/iter 22.645618317033563 ns/iter 1.28
Pointer_Object_Try_Traverse 52.610857900850824 ns/iter 96.27678339725124 ns/iter 0.55
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.1270442468206 ns/iter 182.07048184577258 ns/iter 0.90
Pointer_Walker_Schema_ISO_Language 1350894.7933491343 ns/iter 1479498.9050504668 ns/iter 0.91
Pointer_Maybe_Tracked_Deeply_Nested/0 970181.2015502867 ns/iter 1012651.8676277909 ns/iter 0.96
Pointer_Maybe_Tracked_Deeply_Nested/1 1220693.631669648 ns/iter 1188692.7083334262 ns/iter 1.03
Pointer_Position_Tracker_Get_Deeply_Nested 395.949055628623 ns/iter 388.5033178094428 ns/iter 1.02
JSONPath_Descendant_Filter_Nested 1409.4520060339817 ns/iter 1308.0644859546633 ns/iter 1.08
URITemplateRouter_Create 23054.992374630052 ns/iter 18649.553262031823 ns/iter 1.24
URITemplateRouter_Match 193.51777145484715 ns/iter 178.6805431382359 ns/iter 1.08
URITemplateRouter_Match_BasePath 227.86143778548512 ns/iter 209.03058239119193 ns/iter 1.09
URITemplateRouterView_Restore 11704.430931042774 ns/iter 11389.439100100963 ns/iter 1.03
URITemplateRouterView_Match 149.9491523670901 ns/iter 140.14092137431186 ns/iter 1.07
URITemplateRouterView_Match_BasePath 168.87467198307888 ns/iter 173.30069079480273 ns/iter 0.97
URITemplateRouterView_Arguments 578.3940107720816 ns/iter 626.7160273989261 ns/iter 0.92
JSONL_Parse_Large 7554160.377358644 ns/iter 6710758.413461803 ns/iter 1.13
JSONL_Parse_Large_GZIP 8002701.392857012 ns/iter 8147014.554216261 ns/iter 0.98
JSONLD_Catalog_Annotation_List_Populate 643311.6345514489 ns/iter 525915.4625648735 ns/iter 1.22
JSONLD_Catalog_Materialize 3110724.062257193 ns/iter 2556517.9702604017 ns/iter 1.22
HTML_Build_Table_100000 56674577.799996465 ns/iter 39194458.333333336 ns/iter 1.45
HTML_Render_Table_100000 2053180.9859154287 ns/iter 1687117.7321865764 ns/iter 1.22
GZIP_Compress_ISO_Language_Set_3_Locations 30557260.41666655 ns/iter 38475541.64999565 ns/iter 0.79
GZIP_Decompress_ISO_Language_Set_3_Locations 4009231.5062501887 ns/iter 3837319.1036585956 ns/iter 1.04
GZIP_Compress_ISO_Language_Set_3_Schema 1830019.4101265091 ns/iter 1686840.3955772328 ns/iter 1.08
GZIP_Decompress_ISO_Language_Set_3_Schema 332507.18715226604 ns/iter 282312.22400640947 ns/iter 1.18
JOSE_VerifySignature_RS256 32626.743745262505 ns/iter 25154.586015215256 ns/iter 1.30
JOSE_VerifySignature_ES512 1188461.2666666203 ns/iter 1008835.5833334159 ns/iter 1.18

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

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 79299db Previous: 277dcfa Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.034376999999495 ns/iter 5.0244178571432485 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 5.050864000000956 ns/iter 5.159219999999323 ns/iter 0.98
Regex_Period_Asterisk 5.038846999999578 ns/iter 5.102458035714059 ns/iter 0.99
Regex_Group_Period_Asterisk_Group 5.047151785713514 ns/iter 5.027274000000261 ns/iter 1.00
Regex_Period_Plus 4.796650892856747 ns/iter 4.83684212161495 ns/iter 0.99
Regex_Period 4.875180000000228 ns/iter 4.914041809132524 ns/iter 0.99
Regex_Caret_Period_Plus_Dollar 4.75990261266915 ns/iter 4.7787957695956225 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 4.939838999999893 ns/iter 4.861142523406568 ns/iter 1.02
Regex_Caret_Period_Asterisk_Dollar 5.183723999999756 ns/iter 5.1059699999996155 ns/iter 1.02
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.160515000000032 ns/iter 5.030050999999958 ns/iter 1.03
Regex_Caret_X_Hyphen 8.365931919643696 ns/iter 8.180940848213476 ns/iter 1.02
Regex_Period_Md_Dollar 47.640014456251016 ns/iter 46.930722029700725 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 7.943419642856751 ns/iter 7.840869419643174 ns/iter 1.01
Regex_Caret_Period_Range_Dollar 5.742177999999285 ns/iter 5.719281249999955 ns/iter 1.00
Regex_Nested_Backtrack 59.64117187499594 ns/iter 58.921241071426984 ns/iter 1.01
JSON_Array_Of_Objects_Unique 629.2150892857 ns/iter 617.3521428570845 ns/iter 1.02
JSON_Parse_1 8785.182209009168 ns/iter 8916.884299623633 ns/iter 0.99
JSON_Parse_Real 15998.678571426592 ns/iter 16366.658482088682 ns/iter 0.98
JSON_Parse_Decimal 11826.171875000568 ns/iter 11910.416248140138 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 7440505.357143325 ns/iter 8034943.99999939 ns/iter 0.93
JSON_Parse_Integer 6243.198214285428 ns/iter 6354.321428571348 ns/iter 0.98
JSON_Parse_String_NonSSO_Plain 8681.626116071277 ns/iter 8365.833634670718 ns/iter 1.04
JSON_Parse_String_SSO_Plain 4132.752977227051 ns/iter 4637.56993291057 ns/iter 0.89
JSON_Parse_String_Escape_Heavy 22295.06478722293 ns/iter 21973.06875000038 ns/iter 1.01
JSON_Parse_Object_Short_Keys 13484.221945439569 ns/iter 13252.96717425516 ns/iter 1.02
JSON_Parse_Object_Scalar_Properties 6736.486607142719 ns/iter 6746.9955357145145 ns/iter 1.00
JSON_Parse_Object_Array_Properties 11699.496875001714 ns/iter 11720.191071428791 ns/iter 1.00
JSON_Parse_Object_Object_Properties 11668.346875000068 ns/iter 11949.862500001374 ns/iter 0.98
JSON_Parse_Nested_Containers 88639.67633929398 ns/iter 82253.727678567 ns/iter 1.08
JSON_From_String_Copy 64.29603571428443 ns/iter 65.3445758928482 ns/iter 0.98
JSON_From_String_Temporary 59.08244642857393 ns/iter 58.01946000000271 ns/iter 1.02
JSON_Number_To_Double 123.28319642857569 ns/iter 121.57632142857113 ns/iter 1.01
JSON_Object_At_Last_Key/8 7.689430803571793 ns/iter 7.5871484374991285 ns/iter 1.01
JSON_Object_At_Last_Key/32 23.20831447311926 ns/iter 22.97562362750364 ns/iter 1.01
JSON_Object_At_Last_Key/128 89.66104956870052 ns/iter 90.67827008928069 ns/iter 0.99
JSON_Object_At_Last_Key/512 426.28360008897255 ns/iter 433.2541145869001 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 103.23162499998872 ns/iter 105.60806249999999 ns/iter 0.98
JSON_Equality_Helm_Chart_Lock 208.5553750000102 ns/iter 209.21806250001396 ns/iter 1.00
JSON_Divisible_By_Decimal 300.1856740864269 ns/iter 304.19683035713007 ns/iter 0.99
JSON_String_Equal/10 10.469414062500348 ns/iter 10.405448437499132 ns/iter 1.01
JSON_String_Equal/100 11.715715624999845 ns/iter 12.022446428570026 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 2.537171785714268 ns/iter 2.542381113801106 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.067446361304826 ns/iter 15.210110423169736 ns/iter 0.99
JSON_String_Fast_Hash/10 6.6253500000001955 ns/iter 6.653996651784868 ns/iter 1.00
JSON_String_Fast_Hash/100 6.762828571428006 ns/iter 6.671093749999509 ns/iter 1.01
JSON_String_Key_Hash/10 5.356860999999071 ns/iter 5.342200999999704 ns/iter 1.00
JSON_String_Key_Hash/100 11.902893749999421 ns/iter 11.898780357142869 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 4.758588572491007 ns/iter 4.974351999999271 ns/iter 0.96
JSON_Object_Defines_Miss_Too_Small 4.75942321428643 ns/iter 4.823494642857489 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Large 4.777127019592 ns/iter 4.979272321429156 ns/iter 0.96
Pointer_Object_Traverse 69.97637276785642 ns/iter 68.56184821429119 ns/iter 1.02
Pointer_Object_Try_Traverse 73.00063392857427 ns/iter 72.0810156250045 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 166.8543526785677 ns/iter 159.9356156206881 ns/iter 1.04
Pointer_Walker_Schema_ISO_Language 9878581.111110585 ns/iter 11783944.642857593 ns/iter 0.84
Pointer_Maybe_Tracked_Deeply_Nested/0 2365712.857143113 ns/iter 2403910.227272807 ns/iter 0.98
Pointer_Maybe_Tracked_Deeply_Nested/1 3852112.2905025776 ns/iter 3819337.4301676275 ns/iter 1.01
Pointer_Position_Tracker_Get_Deeply_Nested 566.8648437499511 ns/iter 552.9019967459695 ns/iter 1.03
JSONPath_Descendant_Filter_Nested 2509.518214285679 ns/iter 2392.3535714284785 ns/iter 1.05
URITemplateRouter_Create 41705.14769891248 ns/iter 40821.00284371249 ns/iter 1.02
URITemplateRouter_Match 237.54764285712326 ns/iter 234.63094479565052 ns/iter 1.01
URITemplateRouter_Match_BasePath 268.36903207004207 ns/iter 268.082840092995 ns/iter 1.00
URITemplateRouterView_Restore 35634.09939107841 ns/iter 33330.94267097936 ns/iter 1.07
URITemplateRouterView_Match 192.0036332146255 ns/iter 188.2232715328013 ns/iter 1.02
URITemplateRouterView_Match_BasePath 234.36050739464255 ns/iter 210.5031874999952 ns/iter 1.11
URITemplateRouterView_Arguments 542.2149107143273 ns/iter 542.7161000000069 ns/iter 1.00
JSONL_Parse_Large 33041395.454543736 ns/iter 32972995.000000082 ns/iter 1.00
JSONL_Parse_Large_GZIP 33944984.999999404 ns/iter 33700885.71428672 ns/iter 1.01
JSONLD_Catalog_Annotation_List_Populate 3126566.071428678 ns/iter 3241434.3750001453 ns/iter 0.96
JSONLD_Catalog_Materialize 7968894.64285755 ns/iter 9897609.375000726 ns/iter 0.81
HTML_Build_Table_100000 92507171.42858125 ns/iter 91522342.85714452 ns/iter 1.01
HTML_Render_Table_100000 7997772.222222466 ns/iter 7912592.222222278 ns/iter 1.01
GZIP_Compress_ISO_Language_Set_3_Locations 35788364.999996245 ns/iter 36941042.10526468 ns/iter 0.97
GZIP_Decompress_ISO_Language_Set_3_Locations 10104125.55555528 ns/iter 10148618.749999728 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Schema 2086650.144927763 ns/iter 2111904.9275360643 ns/iter 0.99
GZIP_Decompress_ISO_Language_Set_3_Schema 622149.0178571035 ns/iter 639012.500000012 ns/iter 0.97
JOSE_VerifySignature_RS256 29802.899999999965 ns/iter 21581.796875000946 ns/iter 1.38
JOSE_VerifySignature_ES512 1657304.8257374105 ns/iter 1403359.8393573896 ns/iter 1.18

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

@jviotti
jviotti merged commit 23625ab into main Aug 27, 2026
13 checks passed
@jviotti
jviotti deleted the make-set-constexpr branch August 27, 2026 22:41
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