Skip to content

Fix Decimal::reduce corrupting multiple word coefficients with trailing zeros#2629

Merged
jviotti merged 1 commit into
mainfrom
fix-decimal
Jul 17, 2026
Merged

Fix Decimal::reduce corrupting multiple word coefficients with trailing zeros#2629
jviotti merged 1 commit into
mainfrom
fix-decimal

Conversation

@jviotti

@jviotti jviotti commented Jul 17, 2026

Copy link
Copy Markdown
Member

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

Review in cubic

…ling zeros

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

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

@jviotti
jviotti merged commit a9571a7 into main Jul 17, 2026
12 checks passed
@jviotti
jviotti deleted the fix-decimal branch July 17, 2026 14:00

@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: 68e8b0d Previous: 966869b Ratio
JOSE_VerifySignature_RS256 22279.668615916416 ns/iter 22100.9258999692 ns/iter 1.01
JOSE_VerifySignature_ES512 575809.6143092703 ns/iter 578210.206925051 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Locations 36317856.052631356 ns/iter 36298919.684213616 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 4141215.763313768 ns/iter 4129912.377245587 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Schema 2080111.4265131156 ns/iter 2038390.2099123953 ns/iter 1.02
GZIP_Decompress_ISO_Language_Set_3_Schema 375660.77162819076 ns/iter 380707.1110506308 ns/iter 0.99
HTML_Build_Table_100000 62344095.818182476 ns/iter 62481097.909085296 ns/iter 1.00
HTML_Render_Table_100000 1996663.4137931997 ns/iter 1931542.7194442237 ns/iter 1.03
JSONLD_Catalog_Annotation_List_Populate 1323190.1428570265 ns/iter 1304166.0881800994 ns/iter 1.01
JSONLD_Catalog_Materialize 6722738.552381695 ns/iter 6794584.432691627 ns/iter 0.99
JSONL_Parse_Large 14040012.599998591 ns/iter 13937432.340001123 ns/iter 1.01
JSONL_Parse_Large_GZIP 15324692.086956613 ns/iter 15269214.239130298 ns/iter 1.00
URITemplateRouter_Create 30790.897716811127 ns/iter 30881.140955708925 ns/iter 1.00
URITemplateRouter_Match 161.60790389425628 ns/iter 155.01174323512194 ns/iter 1.04
URITemplateRouter_Match_BasePath 182.67496626938544 ns/iter 181.48056937921282 ns/iter 1.01
URITemplateRouterView_Restore 8613.33252650858 ns/iter 8722.244636725934 ns/iter 0.99
URITemplateRouterView_Match 125.3124580322608 ns/iter 124.42141375351781 ns/iter 1.01
URITemplateRouterView_Match_BasePath 147.20973394737433 ns/iter 143.2889060536567 ns/iter 1.03
URITemplateRouterView_Arguments 485.9834361776745 ns/iter 466.6869827872047 ns/iter 1.04
JSONPath_Descendant_Filter_Nested 1679.2822387053934 ns/iter 1784.7932771137453 ns/iter 0.94
Pointer_Object_Traverse 32.12954010815058 ns/iter 30.39670645874765 ns/iter 1.06
Pointer_Object_Try_Traverse 25.84512788213393 ns/iter 26.02252482704465 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 157.49784314920262 ns/iter 153.2698416452393 ns/iter 1.03
Pointer_Walker_Schema_ISO_Language 2773287.964285622 ns/iter 2795962.0319998064 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/0 1894327.1428572568 ns/iter 1908400.7252749396 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/1 1724307.4619164164 ns/iter 1717164.595588121 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 414.22500769473373 ns/iter 418.2689238237614 ns/iter 0.99
JSON_Array_Of_Objects_Unique 457.41550557091483 ns/iter 455.08094280382215 ns/iter 1.01
JSON_Parse_1 10297.65152617772 ns/iter 10293.8556050266 ns/iter 1.00
JSON_Parse_Real 7714.073225491361 ns/iter 7881.397568390142 ns/iter 0.98
JSON_Parse_Decimal 12954.703890770947 ns/iter 13030.29867971578 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 6793607.514563942 ns/iter 6716912.971154005 ns/iter 1.01
JSON_Parse_Integer 5820.981276483204 ns/iter 5820.14732929729 ns/iter 1.00
JSON_Parse_String_NonSSO_Plain 12330.549858552731 ns/iter 12129.89578348697 ns/iter 1.02
JSON_Parse_String_SSO_Plain 5055.079758511906 ns/iter 5147.705640544203 ns/iter 0.98
JSON_Parse_String_Escape_Heavy 26647.58051967825 ns/iter 25758.81298060941 ns/iter 1.03
JSON_Parse_Object_Short_Keys 13808.02653902665 ns/iter 14192.549463235933 ns/iter 0.97
JSON_Parse_Object_Scalar_Properties 7210.422596868391 ns/iter 7165.303636533579 ns/iter 1.01
JSON_Parse_Object_Array_Properties 12779.803316119032 ns/iter 12452.631606300236 ns/iter 1.03
JSON_Parse_Object_Object_Properties 12678.980495138492 ns/iter 12354.195355262982 ns/iter 1.03
JSON_Parse_Nested_Containers 102414.70870650171 ns/iter 104057.41285223413 ns/iter 0.98
JSON_From_String_Copy 17.92981973855078 ns/iter 17.959125332112674 ns/iter 1.00
JSON_From_String_Temporary 15.040997783344348 ns/iter 15.041354237657092 ns/iter 1.00
JSON_Number_To_Double 21.84260451747134 ns/iter 21.883950293691353 ns/iter 1.00
JSON_Object_At_Last_Key/8 5.613906454902402 ns/iter 5.763250205551115 ns/iter 0.97
JSON_Object_At_Last_Key/32 21.502537526753812 ns/iter 21.804757284994892 ns/iter 0.99
JSON_Object_At_Last_Key/128 87.28390103084729 ns/iter 87.54596862010729 ns/iter 1.00
JSON_Object_At_Last_Key/512 389.27434043071145 ns/iter 391.9829762596868 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 83.87946428571979 ns/iter 75.08979766371102 ns/iter 1.12
JSON_Equality_Helm_Chart_Lock 145.13499240795056 ns/iter 147.1344133412362 ns/iter 0.99
JSON_Divisible_By_Decimal 247.897616417787 ns/iter 243.27265587840975 ns/iter 1.02
JSON_String_Equal/10 5.1023341888288805 ns/iter 5.421423214971378 ns/iter 0.94
JSON_String_Equal/100 5.7284413309280975 ns/iter 6.038300973104644 ns/iter 0.95
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6238637617476276 ns/iter 0.6237485272661657 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.239110115434595 ns/iter 25.22052167925078 ns/iter 1.00
JSON_String_Fast_Hash/10 2.571250636806426 ns/iter 2.568319069443329 ns/iter 1.00
JSON_String_Fast_Hash/100 2.569791474915237 ns/iter 2.5681342760338164 ns/iter 1.00
JSON_String_Key_Hash/10 1.248260220644284 ns/iter 1.2478679474819405 ns/iter 1.00
JSON_String_Key_Hash/100 12.447015375417791 ns/iter 12.445595284153686 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.1139739187373654 ns/iter 3.1142765468383784 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.1146445199600143 ns/iter 3.11316003926377 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.115050980832929 ns/iter 3.112310958158283 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 0.6229275844138852 ns/iter 0.6250131942947319 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.6230476055644109 ns/iter 0.9345411275174411 ns/iter 0.67
Regex_Period_Asterisk 0.6228555394513844 ns/iter 0.6229648190423678 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 0.6231502666475729 ns/iter 0.9339464567875949 ns/iter 0.67
Regex_Period_Plus 0.6231759549375425 ns/iter 0.6227745845730049 ns/iter 1.00
Regex_Period 0.6227471073099895 ns/iter 0.9343799613730558 ns/iter 0.67
Regex_Caret_Period_Plus_Dollar 0.6228848254100329 ns/iter 0.6249578093099424 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 0.6231737549054026 ns/iter 0.9341384206281187 ns/iter 0.67
Regex_Caret_Period_Asterisk_Dollar 0.623574789518019 ns/iter 0.6224747507276043 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.6233054808447558 ns/iter 0.9344291686327246 ns/iter 0.67
Regex_Caret_X_Hyphen 3.742642280867317 ns/iter 3.7364675278439656 ns/iter 1.00
Regex_Period_Md_Dollar 30.262695560152405 ns/iter 30.065304729540745 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 4.047564212931216 ns/iter 4.065745898866911 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 1.2460929426590281 ns/iter 1.556271448772993 ns/iter 0.80
Regex_Nested_Backtrack 38.17239097234319 ns/iter 38.58889255106556 ns/iter 0.99

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: 68e8b0d Previous: 966869b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.3245365563861027 ns/iter 2.275773052273508 ns/iter 1.02
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.168490800247271 ns/iter 1.8190650648620734 ns/iter 1.19
Regex_Period_Asterisk 2.136396028751216 ns/iter 1.723424236745136 ns/iter 1.24
Regex_Group_Period_Asterisk_Group 2.2423933504321147 ns/iter 1.703874017334451 ns/iter 1.32
Regex_Period_Plus 2.7675314707535184 ns/iter 2.3109933639163183 ns/iter 1.20
Regex_Period 2.7696961898073233 ns/iter 2.37549200201673 ns/iter 1.17
Regex_Caret_Period_Plus_Dollar 2.645129514250721 ns/iter 3.370437486496658 ns/iter 0.78
Regex_Caret_Group_Period_Plus_Group_Dollar 2.6330198298558196 ns/iter 2.821106426911061 ns/iter 0.93
Regex_Caret_Period_Asterisk_Dollar 2.2863498005781695 ns/iter 2.2402348062688797 ns/iter 1.02
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.361733101726759 ns/iter 2.1987155821452657 ns/iter 1.07
Regex_Caret_X_Hyphen 7.904429726359867 ns/iter 7.443048654362473 ns/iter 1.06
Regex_Period_Md_Dollar 21.65646162816379 ns/iter 23.57711466597133 ns/iter 0.92
Regex_Caret_Slash_Period_Asterisk 6.243514200924781 ns/iter 6.291157961406636 ns/iter 0.99
Regex_Caret_Period_Range_Dollar 2.929563362728545 ns/iter 2.714178166903204 ns/iter 1.08
Regex_Nested_Backtrack 36.03555700195609 ns/iter 30.592390094828232 ns/iter 1.18
JSON_Array_Of_Objects_Unique 483.62459933643686 ns/iter 424.2983851910939 ns/iter 1.14
JSON_Parse_1 10679.954552092704 ns/iter 11220.369919990062 ns/iter 0.95
JSON_Parse_Real 9358.343707623648 ns/iter 11880.715661103359 ns/iter 0.79
JSON_Parse_Decimal 9651.310184446304 ns/iter 10052.03173864084 ns/iter 0.96
JSON_Parse_Schema_ISO_Language 4530216.845070536 ns/iter 4312869.890322286 ns/iter 1.05
JSON_Parse_Integer 5537.840019123387 ns/iter 4747.017120779974 ns/iter 1.17
JSON_Parse_String_NonSSO_Plain 9908.840909397473 ns/iter 8048.542765627465 ns/iter 1.23
JSON_Parse_String_SSO_Plain 3590.049168652437 ns/iter 3910.9169302092573 ns/iter 0.92
JSON_Parse_String_Escape_Heavy 27421.973965417696 ns/iter 24810.665854191015 ns/iter 1.11
JSON_Parse_Object_Short_Keys 10395.877026958038 ns/iter 8938.991061395964 ns/iter 1.16
JSON_Parse_Object_Scalar_Properties 5265.947734901771 ns/iter 5098.744836352528 ns/iter 1.03
JSON_Parse_Object_Array_Properties 8787.44850004465 ns/iter 9839.675772589015 ns/iter 0.89
JSON_Parse_Object_Object_Properties 9690.583233935238 ns/iter 11378.83333135295 ns/iter 0.85
JSON_Parse_Nested_Containers 80391.8540647422 ns/iter 102000.1628876794 ns/iter 0.79
JSON_From_String_Copy 31.74296880242196 ns/iter 42.2461140481483 ns/iter 0.75
JSON_From_String_Temporary 29.324046908365844 ns/iter 32.66700220552635 ns/iter 0.90
JSON_Number_To_Double 58.30299976213639 ns/iter 48.48984883983602 ns/iter 1.20
JSON_Object_At_Last_Key/8 5.848295928610996 ns/iter 5.3423230131546156 ns/iter 1.09
JSON_Object_At_Last_Key/32 14.758645621071219 ns/iter 17.21720147623178 ns/iter 0.86
JSON_Object_At_Last_Key/128 63.853257415056106 ns/iter 80.44599962849489 ns/iter 0.79
JSON_Object_At_Last_Key/512 210.85343905088772 ns/iter 241.57096903125606 ns/iter 0.87
JSON_Fast_Hash_Helm_Chart_Lock 67.19881068135854 ns/iter 79.16732585899629 ns/iter 0.85
JSON_Equality_Helm_Chart_Lock 146.0874921755986 ns/iter 212.19643341784712 ns/iter 0.69
JSON_Divisible_By_Decimal 204.9110308330625 ns/iter 232.8605987096831 ns/iter 0.88
JSON_String_Equal/10 7.403919553218179 ns/iter 8.649630582472591 ns/iter 0.86
JSON_String_Equal/100 7.36242189416363 ns/iter 7.228347907385374 ns/iter 1.02
JSON_String_Equal_Small_By_Perfect_Hash/10 0.4023007996102323 ns/iter 0.4029327292694728 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.372833283066869 ns/iter 3.6884027294733115 ns/iter 1.19
JSON_String_Fast_Hash/10 2.8414793302261714 ns/iter 2.8165791980821018 ns/iter 1.01
JSON_String_Fast_Hash/100 2.6168774770089107 ns/iter 2.890430967043733 ns/iter 0.91
JSON_String_Key_Hash/10 2.1185982524045257 ns/iter 2.133738024757339 ns/iter 0.99
JSON_String_Key_Hash/100 2.558060357164341 ns/iter 2.3406180195124504 ns/iter 1.09
JSON_Object_Defines_Miss_Same_Length 6.564244559457251 ns/iter 2.8713352907619845 ns/iter 2.29
JSON_Object_Defines_Miss_Too_Small 3.721115457481759 ns/iter 2.7836706502522444 ns/iter 1.34
JSON_Object_Defines_Miss_Too_Large 3.6072981443945467 ns/iter 3.0047399060766966 ns/iter 1.20
Pointer_Object_Traverse 33.74002840655297 ns/iter 23.61078725461542 ns/iter 1.43
Pointer_Object_Try_Traverse 30.564545748396842 ns/iter 22.66233245784944 ns/iter 1.35
Pointer_Push_Back_Pointer_To_Weak_Pointer 272.30368675673657 ns/iter 213.84555310650595 ns/iter 1.27
Pointer_Walker_Schema_ISO_Language 5195592.656716327 ns/iter 3096162.147783038 ns/iter 1.68
Pointer_Maybe_Tracked_Deeply_Nested/0 1592979.0745615405 ns/iter 1492479.1257606696 ns/iter 1.07
Pointer_Maybe_Tracked_Deeply_Nested/1 1328857.1073559127 ns/iter 1295919.702325704 ns/iter 1.03
Pointer_Position_Tracker_Get_Deeply_Nested 428.12133399881844 ns/iter 370.7446751827866 ns/iter 1.15
JSONPath_Descendant_Filter_Nested 1450.9218262702962 ns/iter 1352.2540414717885 ns/iter 1.07
URITemplateRouter_Create 27573.773920408126 ns/iter 25349.38909104602 ns/iter 1.09
URITemplateRouter_Match 202.95414623921926 ns/iter 181.92232724021255 ns/iter 1.12
URITemplateRouter_Match_BasePath 240.62827741309724 ns/iter 219.16687693924942 ns/iter 1.10
URITemplateRouterView_Restore 13604.181519866841 ns/iter 12860.603517686046 ns/iter 1.06
URITemplateRouterView_Match 179.60288038150426 ns/iter 154.6187459916186 ns/iter 1.16
URITemplateRouterView_Match_BasePath 184.49731318169438 ns/iter 171.85447985552824 ns/iter 1.07
URITemplateRouterView_Arguments 707.5965825853598 ns/iter 629.7665452603934 ns/iter 1.12
JSONL_Parse_Large 17159060.177777972 ns/iter 11954983.745762533 ns/iter 1.44
JSONL_Parse_Large_GZIP 12587380.615385132 ns/iter 12800829.967741925 ns/iter 0.98
JSONLD_Catalog_Annotation_List_Populate 880994.2330507855 ns/iter 961726.1641104099 ns/iter 0.92
JSONLD_Catalog_Materialize 4522895.424836599 ns/iter 4759623.308942773 ns/iter 0.95
HTML_Build_Table_100000 36608425.421054326 ns/iter 44758847.22222645 ns/iter 0.82
HTML_Render_Table_100000 1784687.9689265944 ns/iter 1826600.7542372579 ns/iter 0.98
GZIP_Compress_ISO_Language_Set_3_Locations 27087904.296296176 ns/iter 27639240.545454416 ns/iter 0.98
GZIP_Decompress_ISO_Language_Set_3_Locations 3312950.918269254 ns/iter 3499148.5507243457 ns/iter 0.95
GZIP_Compress_ISO_Language_Set_3_Schema 1559917.1252745863 ns/iter 1578963.0391703334 ns/iter 0.99
GZIP_Decompress_ISO_Language_Set_3_Schema 279773.42052982847 ns/iter 290164.14101465064 ns/iter 0.96
JOSE_VerifySignature_RS256 22055.327106133784 ns/iter 36747.19690944665 ns/iter 0.60
JOSE_VerifySignature_ES512 1428838.9581749034 ns/iter 1472705.755376378 ns/iter 0.97

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: 68e8b0d Previous: 966869b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.4765803722504476 ns/iter 2.214986323597745 ns/iter 1.12
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.4636185662944623 ns/iter 2.1915788326695176 ns/iter 1.12
Regex_Period_Asterisk 2.4621939091740845 ns/iter 2.1885377054278505 ns/iter 1.13
Regex_Group_Period_Asterisk_Group 2.462916909765675 ns/iter 2.1846101175218204 ns/iter 1.13
Regex_Period_Plus 3.4003293922057485 ns/iter 2.8013260245631857 ns/iter 1.21
Regex_Period 2.4614850507389145 ns/iter 2.8319202863266772 ns/iter 0.87
Regex_Caret_Period_Plus_Dollar 2.4625345579645077 ns/iter 2.2232501429094085 ns/iter 1.11
Regex_Caret_Group_Period_Plus_Group_Dollar 2.463934097441024 ns/iter 2.2282431502986166 ns/iter 1.11
Regex_Caret_Period_Asterisk_Dollar 3.8677491802189166 ns/iter 2.4913299046760375 ns/iter 1.55
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.8680890680114985 ns/iter 2.4904271160593976 ns/iter 1.55
Regex_Caret_X_Hyphen 6.970183319825624 ns/iter 6.542240319419182 ns/iter 1.07
Regex_Period_Md_Dollar 26.28964316253345 ns/iter 27.28474068503849 ns/iter 0.96
Regex_Caret_Slash_Period_Asterisk 7.384708719074846 ns/iter 7.1678315742231105 ns/iter 1.03
Regex_Caret_Period_Range_Dollar 4.5793141682391925 ns/iter 4.358675231526067 ns/iter 1.05
Regex_Nested_Backtrack 38.21386702638701 ns/iter 38.073296401810005 ns/iter 1.00
JSON_Array_Of_Objects_Unique 479.42973797794656 ns/iter 458.78121807167264 ns/iter 1.05
JSON_Parse_1 4690.166763502107 ns/iter 4840.198540791036 ns/iter 0.97
JSON_Parse_Real 5226.68890888665 ns/iter 5339.247645038777 ns/iter 0.98
JSON_Parse_Decimal 7802.23637069491 ns/iter 7629.509948110839 ns/iter 1.02
JSON_Parse_Schema_ISO_Language 3595255.615384583 ns/iter 3450848.1871920493 ns/iter 1.04
JSON_Parse_Integer 3989.4841662249682 ns/iter 3890.180960954436 ns/iter 1.03
JSON_Parse_String_NonSSO_Plain 5047.924749999311 ns/iter 4928.478793259119 ns/iter 1.02
JSON_Parse_String_SSO_Plain 2808.3352669047563 ns/iter 2692.6419882909654 ns/iter 1.04
JSON_Parse_String_Escape_Heavy 14588.351689224184 ns/iter 14155.729100572125 ns/iter 1.03
JSON_Parse_Object_Short_Keys 7785.02993441089 ns/iter 10361.259436752378 ns/iter 0.75
JSON_Parse_Object_Scalar_Properties 4110.723358228851 ns/iter 4137.994066365405 ns/iter 0.99
JSON_Parse_Object_Array_Properties 5496.582163339446 ns/iter 5411.02986007719 ns/iter 1.02
JSON_Parse_Object_Object_Properties 5474.797396257217 ns/iter 5342.403629823224 ns/iter 1.02
JSON_Parse_Nested_Containers 45419.570279830135 ns/iter 44726.542822370415 ns/iter 1.02
JSON_From_String_Copy 21.057781498940074 ns/iter 19.359948051040966 ns/iter 1.09
JSON_From_String_Temporary 18.662864599823724 ns/iter 17.444863681867535 ns/iter 1.07
JSON_Number_To_Double 22.806603252430726 ns/iter 23.709097214038934 ns/iter 0.96
JSON_Object_At_Last_Key/8 6.6256489909578375 ns/iter 5.918459892040408 ns/iter 1.12
JSON_Object_At_Last_Key/32 23.601432931743545 ns/iter 21.800494309589894 ns/iter 1.08
JSON_Object_At_Last_Key/128 91.15822909233769 ns/iter 87.89123447649993 ns/iter 1.04
JSON_Object_At_Last_Key/512 381.0226285359888 ns/iter 404.44935324921164 ns/iter 0.94
JSON_Fast_Hash_Helm_Chart_Lock 68.58138111476981 ns/iter 56.62761619267085 ns/iter 1.21
JSON_Equality_Helm_Chart_Lock 164.6570539791319 ns/iter 154.5296245970208 ns/iter 1.07
JSON_Divisible_By_Decimal 253.04069981781691 ns/iter 254.51287473398014 ns/iter 0.99
JSON_String_Equal/10 5.631595430539375 ns/iter 5.922801971350426 ns/iter 0.95
JSON_String_Equal/100 6.412302889524343 ns/iter 6.548685496941712 ns/iter 0.98
JSON_String_Equal_Small_By_Perfect_Hash/10 1.054985518984394 ns/iter 0.9353587361713253 ns/iter 1.13
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.339364006798274 ns/iter 10.482162693476138 ns/iter 1.18
JSON_String_Fast_Hash/10 2.111555601678372 ns/iter 2.184470345195639 ns/iter 0.97
JSON_String_Fast_Hash/100 2.1108984500370886 ns/iter 2.1797816963104895 ns/iter 0.97
JSON_String_Key_Hash/10 2.8555179441232212 ns/iter 2.4956941325100765 ns/iter 1.14
JSON_String_Key_Hash/100 8.090927098640625 ns/iter 6.563576542534091 ns/iter 1.23
JSON_Object_Defines_Miss_Same_Length 2.9164168777833384 ns/iter 2.6972017687621364 ns/iter 1.08
JSON_Object_Defines_Miss_Too_Small 2.994452809559506 ns/iter 2.6818120403861743 ns/iter 1.12
JSON_Object_Defines_Miss_Too_Large 3.205007264947405 ns/iter 3.1953411463674986 ns/iter 1.00
Pointer_Object_Traverse 30.604274384608495 ns/iter 28.742522110845112 ns/iter 1.06
Pointer_Object_Try_Traverse 33.57254541672214 ns/iter 30.998772774405904 ns/iter 1.08
Pointer_Push_Back_Pointer_To_Weak_Pointer 186.38448940270527 ns/iter 162.4598397661665 ns/iter 1.15
Pointer_Walker_Schema_ISO_Language 2853769.2669324963 ns/iter 2662442.5209124796 ns/iter 1.07
Pointer_Maybe_Tracked_Deeply_Nested/0 1241067.754884592 ns/iter 1209021.7001733347 ns/iter 1.03
Pointer_Maybe_Tracked_Deeply_Nested/1 1597571.9334863562 ns/iter 1588101.9409091964 ns/iter 1.01
Pointer_Position_Tracker_Get_Deeply_Nested 718.3754528361555 ns/iter 690.2992960060777 ns/iter 1.04
JSONPath_Descendant_Filter_Nested 1639.2454160591096 ns/iter 1616.272181744328 ns/iter 1.01
URITemplateRouter_Create 30737.98183145573 ns/iter 32028.660464902932 ns/iter 0.96
URITemplateRouter_Match 177.47390879234808 ns/iter 173.02431105585114 ns/iter 1.03
URITemplateRouter_Match_BasePath 210.3652478242414 ns/iter 198.93231756203176 ns/iter 1.06
URITemplateRouterView_Restore 9908.632867570182 ns/iter 8439.35763888938 ns/iter 1.17
URITemplateRouterView_Match 145.6959001327912 ns/iter 146.27079663283666 ns/iter 1.00
URITemplateRouterView_Match_BasePath 165.13802738431278 ns/iter 164.83585925340327 ns/iter 1.00
URITemplateRouterView_Arguments 458.9206485685429 ns/iter 428.88895835709343 ns/iter 1.07
JSONL_Parse_Large 9053956.128204787 ns/iter 9845602.028168337 ns/iter 0.92
JSONL_Parse_Large_GZIP 10768278.123077834 ns/iter 11525800.344263755 ns/iter 0.93
JSONLD_Catalog_Annotation_List_Populate 1264879.236036044 ns/iter 1254835.4586330606 ns/iter 1.01
JSONLD_Catalog_Materialize 4301342.030487376 ns/iter 4166132.329341799 ns/iter 1.03
HTML_Build_Table_100000 71575555.8000069 ns/iter 68218695.09999487 ns/iter 1.05
HTML_Render_Table_100000 4860989.72222256 ns/iter 5291064.952755761 ns/iter 0.92
GZIP_Compress_ISO_Language_Set_3_Locations 35779158.39999832 ns/iter 33533124.8571449 ns/iter 1.07
GZIP_Decompress_ISO_Language_Set_3_Locations 4296526.969512354 ns/iter 4301576.136646155 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Schema 2116661.326284035 ns/iter 1860346.9015958237 ns/iter 1.14
GZIP_Decompress_ISO_Language_Set_3_Schema 276091.2739456177 ns/iter 356484.16785352636 ns/iter 0.77
JOSE_VerifySignature_RS256 63903.41384348666 ns/iter 58196.343261353046 ns/iter 1.10
JOSE_VerifySignature_ES512 2737304.1439691423 ns/iter 2360969.1486487584 ns/iter 1.16

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: 68e8b0d Previous: 966869b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.494972142856763 ns/iter 5.020503571428899 ns/iter 0.50
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.479292857142517 ns/iter 4.960992999999689 ns/iter 0.50
Regex_Period_Asterisk 2.476053345451237 ns/iter 4.954082142857276 ns/iter 0.50
Regex_Group_Period_Asterisk_Group 2.476524642857417 ns/iter 4.959664285713927 ns/iter 0.50
Regex_Period_Plus 2.6179563586852206 ns/iter 5.441138999999566 ns/iter 0.48
Regex_Period 2.4814372740167667 ns/iter 5.498776785714198 ns/iter 0.45
Regex_Caret_Period_Plus_Dollar 2.4774160714287063 ns/iter 5.716585999999779 ns/iter 0.43
Regex_Caret_Group_Period_Plus_Group_Dollar 2.4816171428572686 ns/iter 4.6512594975076835 ns/iter 0.53
Regex_Caret_Period_Asterisk_Dollar 2.48341071428594 ns/iter 5.022242000000006 ns/iter 0.49
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.4727157142852514 ns/iter 4.977627999999186 ns/iter 0.50
Regex_Caret_X_Hyphen 4.748466071427109 ns/iter 7.9079508928574835 ns/iter 0.60
Regex_Period_Md_Dollar 25.23729324935805 ns/iter 57.428383928562916 ns/iter 0.44
Regex_Caret_Slash_Period_Asterisk 3.338692505216203 ns/iter 7.5300424107143415 ns/iter 0.44
Regex_Caret_Period_Range_Dollar 2.4791949999999883 ns/iter 5.544351999999435 ns/iter 0.45
Regex_Nested_Backtrack 32.96559612438332 ns/iter 77.57118303571683 ns/iter 0.42
JSON_Array_Of_Objects_Unique 473.9585209729579 ns/iter 648.4866071428793 ns/iter 0.73
JSON_Parse_1 6440.445535714291 ns/iter 9261.712670926008 ns/iter 0.70
JSON_Parse_Real 10441.460937499869 ns/iter 16762.624303286597 ns/iter 0.62
JSON_Parse_Decimal 7828.10825892964 ns/iter 11431.021428571901 ns/iter 0.68
JSON_Parse_Schema_ISO_Language 7676775.555556661 ns/iter 8212430.666665872 ns/iter 0.93
JSON_Parse_Integer 3795.995007152199 ns/iter 5887.077678571423 ns/iter 0.64
JSON_Parse_String_NonSSO_Plain 5528.608035713692 ns/iter 7751.257812500205 ns/iter 0.71
JSON_Parse_String_SSO_Plain 2420.5943749997514 ns/iter 3608.4766124353564 ns/iter 0.67
JSON_Parse_String_Escape_Heavy 17015.495862697677 ns/iter 21712.931250000624 ns/iter 0.78
JSON_Parse_Object_Short_Keys 8638.869915760044 ns/iter 12907.028571427354 ns/iter 0.67
JSON_Parse_Object_Scalar_Properties 4476.931442294128 ns/iter 6715.035714285429 ns/iter 0.67
JSON_Parse_Object_Array_Properties 8049.412946429564 ns/iter 11510.589062501353 ns/iter 0.70
JSON_Parse_Object_Object_Properties 7873.866071427419 ns/iter 11692.845312499145 ns/iter 0.67
JSON_Parse_Nested_Containers 53578.95535713705 ns/iter 81574.09598213507 ns/iter 0.66
JSON_From_String_Copy 39.92603794642184 ns/iter 66.5440892857256 ns/iter 0.60
JSON_From_String_Temporary 47.452606155446524 ns/iter 89.64957589286473 ns/iter 0.53
JSON_Number_To_Double 75.3877343749971 ns/iter 132.82076785714025 ns/iter 0.57
JSON_Object_At_Last_Key/8 6.97055089285722 ns/iter 7.613120535714708 ns/iter 0.92
JSON_Object_At_Last_Key/32 24.498260714283656 ns/iter 24.73047963470368 ns/iter 0.99
JSON_Object_At_Last_Key/128 51.5967400000136 ns/iter 98.81088844593036 ns/iter 0.52
JSON_Object_At_Last_Key/512 157.50444358289735 ns/iter 428.81888843164114 ns/iter 0.37
JSON_Fast_Hash_Helm_Chart_Lock 75.41383928571271 ns/iter 124.36704687502242 ns/iter 0.61
JSON_Equality_Helm_Chart_Lock 200.21474109061174 ns/iter 208.0956625850112 ns/iter 0.96
JSON_Divisible_By_Decimal 224.54659324255235 ns/iter 357.677328467635 ns/iter 0.63
JSON_String_Equal/10 7.78682031250152 ns/iter 9.98385624999898 ns/iter 0.78
JSON_String_Equal/100 9.959497723396147 ns/iter 11.347940625000774 ns/iter 0.88
JSON_String_Equal_Small_By_Perfect_Hash/10 1.098265468749915 ns/iter 2.175646609085869 ns/iter 0.50
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.248813616071772 ns/iter 15.849114438176475 ns/iter 0.58
JSON_String_Fast_Hash/10 3.045153745921051 ns/iter 6.3933625000000145 ns/iter 0.48
JSON_String_Fast_Hash/100 3.041517410714789 ns/iter 6.399595535713486 ns/iter 0.48
JSON_String_Key_Hash/10 2.475857500000497 ns/iter 4.956712999999127 ns/iter 0.50
JSON_String_Key_Hash/100 7.902501116071445 ns/iter 10.98787812500035 ns/iter 0.72
JSON_Object_Defines_Miss_Same_Length 1.7091385056087516 ns/iter 3.8900982142856373 ns/iter 0.44
JSON_Object_Defines_Miss_Too_Small 1.7266709832993214 ns/iter 4.347173125000836 ns/iter 0.40
JSON_Object_Defines_Miss_Too_Large 1.6558464520019744 ns/iter 3.8932499999993246 ns/iter 0.43
Pointer_Object_Traverse 43.111874999993915 ns/iter 76.5148214285765 ns/iter 0.56
Pointer_Object_Try_Traverse 45.5268147720855 ns/iter 69.96341517856916 ns/iter 0.65
Pointer_Push_Back_Pointer_To_Weak_Pointer 129.09828571427593 ns/iter 162.73403545089172 ns/iter 0.79
Pointer_Walker_Schema_ISO_Language 9961968.75000166 ns/iter 13076626.000001853 ns/iter 0.76
Pointer_Maybe_Tracked_Deeply_Nested/0 2142694.696969426 ns/iter 2449303.614457859 ns/iter 0.87
Pointer_Maybe_Tracked_Deeply_Nested/1 3615466.3101608804 ns/iter 3664071.1229950134 ns/iter 0.99
Pointer_Position_Tracker_Get_Deeply_Nested 472.95062500012364 ns/iter 538.0003320810969 ns/iter 0.88
JSONPath_Descendant_Filter_Nested 1471.948137523135 ns/iter 2600.8982142855075 ns/iter 0.57
URITemplateRouter_Create 31031.156250002874 ns/iter 39755.000000000044 ns/iter 0.78
URITemplateRouter_Match 211.44452627481402 ns/iter 216.02345687395123 ns/iter 0.98
URITemplateRouter_Match_BasePath 239.11353358106368 ns/iter 244.86857758165792 ns/iter 0.98
URITemplateRouterView_Restore 14395.28305677492 ns/iter 24930.37499999673 ns/iter 0.58
URITemplateRouterView_Match 146.60941964288148 ns/iter 170.61406276433314 ns/iter 0.86
URITemplateRouterView_Match_BasePath 166.63304464062858 ns/iter 195.01212455465313 ns/iter 0.85
URITemplateRouterView_Arguments 400.6753348214177 ns/iter 604.857053571298 ns/iter 0.66
JSONL_Parse_Large 21238785.294117942 ns/iter 32671923.80952197 ns/iter 0.65
JSONL_Parse_Large_GZIP 21504771.875001438 ns/iter 33202274.99999646 ns/iter 0.65
JSONLD_Catalog_Annotation_List_Populate 1983192.225201365 ns/iter 2915260.642570516 ns/iter 0.68
JSONLD_Catalog_Materialize 5732827.678571084 ns/iter 10037987.499998735 ns/iter 0.57
HTML_Build_Table_100000 91103814.28568612 ns/iter 91648477.77777949 ns/iter 0.99
HTML_Render_Table_100000 12599818.000003323 ns/iter 8281518.666666064 ns/iter 1.52
GZIP_Compress_ISO_Language_Set_3_Locations 27901799.99999964 ns/iter 38022999.99999473 ns/iter 0.73
GZIP_Decompress_ISO_Language_Set_3_Locations 11887192.857139034 ns/iter 11180464.062498175 ns/iter 1.06
GZIP_Compress_ISO_Language_Set_3_Schema 1746941.2776411935 ns/iter 2287939.130434876 ns/iter 0.76
GZIP_Decompress_ISO_Language_Set_3_Schema 623565.8035714258 ns/iter 581046.0714284561 ns/iter 1.07
JOSE_VerifySignature_RS256 17223.79502541361 ns/iter 23733.585562664317 ns/iter 0.73
JOSE_VerifySignature_ES512 927256.3587682389 ns/iter 1531734.337349296 ns/iter 0.61

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant