Skip to content

Fix leap seconds in is_rfc3339_datetime#2384

Merged
jviotti merged 2 commits into
mainfrom
datetime-fixes
May 16, 2026
Merged

Fix leap seconds in is_rfc3339_datetime#2384
jviotti merged 2 commits into
mainfrom
datetime-fixes

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 15, 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 2 files

Re-trigger cubic

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 15, 2026

🤖 Augment PR Summary

Summary: Tightens RFC3339 date-time validation around leap seconds by ensuring :60 only appears at the end of a UTC day.

Changes:

  • Tracks parsed timezone offset components (`+/-HH:MM` or `Z`) for later validation
  • Adds a leap-second check that converts the local time to UTC minutes-of-day and requires UTC 23:59 when `second == 60`
  • Preserves existing strict parsing rules for offsets (including mandatory colon)
  • Adds unit tests covering invalid leap seconds and valid offset rollovers across day boundaries

Technical Notes: Leap-second validation is based on the RFC3339 rule that the leap second occurs at the same instant globally, so local offsets shift the displayed wall-clock time.

🤖 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. 1 suggestion posted.

Fix All in Augment

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

Comment thread src/core/time/rfc3339_datetime.cc
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: aeda1bb Previous: 3d7dbd2 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.4941095667819444 ns/iter 2.4955292123682526 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.189664991540754 ns/iter 2.184870771378601 ns/iter 1.00
Regex_Period_Asterisk 2.490607971175627 ns/iter 2.4910366896119895 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.201152424785797 ns/iter 2.1888421605796684 ns/iter 1.01
Regex_Period_Plus 3.1121650014771425 ns/iter 3.11425007247772 ns/iter 1.00
Regex_Period 2.799999134881343 ns/iter 2.806604030799614 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.1118319561460974 ns/iter 3.11362671652587 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.800760359797062 ns/iter 2.897813632103044 ns/iter 0.97
Regex_Caret_Period_Asterisk_Dollar 3.733622813323319 ns/iter 3.7361299678547866 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4233042075528277 ns/iter 3.4246439876315353 ns/iter 1.00
Regex_Caret_X_Hyphen 7.165382115296263 ns/iter 7.164919508967807 ns/iter 1.00
Regex_Period_Md_Dollar 27.40519301530601 ns/iter 27.420324860178724 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 7.4817674423137825 ns/iter 6.543859765387749 ns/iter 1.14
Regex_Caret_Period_Range_Dollar 3.733214486051598 ns/iter 3.737573966758493 ns/iter 1.00
Regex_Nested_Backtrack 36.772818760675726 ns/iter 36.79575067491153 ns/iter 1.00
JSON_Array_Of_Objects_Unique 485.7447697958278 ns/iter 484.61947784374473 ns/iter 1.00
JSON_Parse_1 5734.619950652701 ns/iter 5726.1227152575375 ns/iter 1.00
JSON_Parse_Real 11075.983057294803 ns/iter 11042.250980640521 ns/iter 1.00
JSON_Parse_Decimal 11105.005588631095 ns/iter 11303.80866507533 ns/iter 0.98
JSON_Parse_Schema_ISO_Language 3595084.5612245183 ns/iter 3569498.193877391 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 66.01126980660395 ns/iter 66.0299051173827 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 171.6087642096344 ns/iter 158.61157634423984 ns/iter 1.08
JSON_Divisible_By_Decimal 241.00801061062427 ns/iter 245.16760271791287 ns/iter 0.98
JSON_String_Equal/10 5.922278194638461 ns/iter 6.118404519992662 ns/iter 0.97
JSON_String_Equal/100 6.542568457338181 ns/iter 6.544297569089113 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9346664551446163 ns/iter 0.9364020108717539 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.27041434398541 ns/iter 10.274453530393163 ns/iter 1.00
JSON_String_Fast_Hash/10 2.8006200604395795 ns/iter 2.80153624488242 ns/iter 1.00
JSON_String_Fast_Hash/100 2.8093685370733716 ns/iter 2.8049510313794253 ns/iter 1.00
JSON_String_Key_Hash/10 2.180876704403673 ns/iter 2.1807198964158543 ns/iter 1.00
JSON_String_Key_Hash/100 6.535823774012538 ns/iter 6.538482747009728 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7380871644325837 ns/iter 3.746148014240843 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7395464516670955 ns/iter 3.7394460762211703 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.750287321550879 ns/iter 3.745038736587072 ns/iter 1.00
Pointer_Object_Traverse 23.99126634261702 ns/iter 23.92644641984701 ns/iter 1.00
Pointer_Object_Try_Traverse 27.87598206645014 ns/iter 27.902405363253195 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 177.77057876254395 ns/iter 176.62182780236154 ns/iter 1.01
Pointer_Walker_Schema_ISO_Language 3024667.8448274476 ns/iter 3007900.420601109 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/0 1451649.6582808916 ns/iter 1456312.8153526955 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1932911.2320442668 ns/iter 1933326.7541436178 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 668.4407855488294 ns/iter 678.8779138045363 ns/iter 0.98
Schema_Frame_WoT_References 5124709.3868619725 ns/iter 5122067.176470784 ns/iter 1.00
Schema_Frame_OMC_References 21092157.48484847 ns/iter 21037242.909091167 ns/iter 1.00
Schema_Frame_OMC_Locations 19766243.361109067 ns/iter 20121688.8333325 ns/iter 0.98
Schema_Frame_ISO_Language_Locations 100017283.9999891 ns/iter 105864279.16666709 ns/iter 0.94
Schema_Frame_KrakenD_References 41812620.72221949 ns/iter 41892466.52940844 ns/iter 1.00
Schema_Frame_KrakenD_Reachable 593112146.0000668 ns/iter 594778173.9999982 ns/iter 1.00
Schema_Iterator_ISO_Language 3068793.943478578 ns/iter 3057216.5152838407 ns/iter 1.00
Schema_Frame_ISO_Language_Locations_To_JSON 107802254.000012 ns/iter 110154272.7999913 ns/iter 0.98
Schema_Tracker_ISO_Language 4791598.668965701 ns/iter 4779658.30405436 ns/iter 1.00
Schema_Tracker_ISO_Language_To_JSON 19426637.805556387 ns/iter 19359890.000000883 ns/iter 1.00
Schema_Format_ISO_Language_To_JSON 106323207.14285015 ns/iter 106810629.66667317 ns/iter 1.00
Schema_Bundle_Meta_2020_12 1654664.515363941 ns/iter 1655403.884892545 ns/iter 1.00
Schema_Frame_Many_Resources_References 377535184.9999993 ns/iter 369135201.00000596 ns/iter 1.02
EditorSchema_ForEditor_EmbeddedResources 13842836.470581798 ns/iter 13703107.000000559 ns/iter 1.01
URITemplateRouter_Create 31140.187216435985 ns/iter 31228.375265955514 ns/iter 1.00
URITemplateRouter_Match 175.66961271736315 ns/iter 171.6416661180626 ns/iter 1.02
URITemplateRouter_Match_BasePath 202.36548384000383 ns/iter 203.79003833637498 ns/iter 0.99
URITemplateRouterView_Restore 7718.482471056227 ns/iter 7690.00617475917 ns/iter 1.00
URITemplateRouterView_Match 141.91475177763215 ns/iter 141.94512140402048 ns/iter 1.00
URITemplateRouterView_Match_BasePath 161.23136233873996 ns/iter 160.75998432824937 ns/iter 1.00
URITemplateRouterView_Arguments 475.88554243835733 ns/iter 471.54634832777634 ns/iter 1.01
JSONL_Parse_Large 10752017.522387218 ns/iter 10534508.835820504 ns/iter 1.02
JSONL_Parse_Large_GZIP 11737533.61666551 ns/iter 11690247.050000835 ns/iter 1.00
HTML_Build_Table_100000 64037934.18182473 ns/iter 63640665.000000566 ns/iter 1.01
HTML_Render_Table_100000 5259861.56060643 ns/iter 5499739.818897141 ns/iter 0.96

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: aeda1bb Previous: 3d7dbd2 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.406496986589664 ns/iter 1.5728192154046887 ns/iter 1.53
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.5443260749367904 ns/iter 1.5735071254272162 ns/iter 1.62
Regex_Period_Asterisk 2.6994108519657485 ns/iter 1.6294211225512174 ns/iter 1.66
Regex_Group_Period_Asterisk_Group 2.4798794520414376 ns/iter 1.5757409879633204 ns/iter 1.57
Regex_Period_Plus 2.7334269839259053 ns/iter 1.9465371123122035 ns/iter 1.40
Regex_Period 2.634001333773759 ns/iter 1.8914409754107198 ns/iter 1.39
Regex_Caret_Period_Plus_Dollar 2.7102540682509413 ns/iter 1.8886525729584331 ns/iter 1.44
Regex_Caret_Group_Period_Plus_Group_Dollar 2.772145081866826 ns/iter 1.885633708278837 ns/iter 1.47
Regex_Caret_Period_Asterisk_Dollar 2.419495180206421 ns/iter 1.576466795369169 ns/iter 1.53
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.5446225006351946 ns/iter 1.5800717638685375 ns/iter 1.61
Regex_Caret_X_Hyphen 8.867524683855207 ns/iter 5.669963354825849 ns/iter 1.56
Regex_Period_Md_Dollar 23.33165564992531 ns/iter 15.615314244494215 ns/iter 1.49
Regex_Caret_Slash_Period_Asterisk 10.152045729219381 ns/iter 7.465203233735769 ns/iter 1.36
Regex_Caret_Period_Range_Dollar 2.6589899503544623 ns/iter 1.5808416136243886 ns/iter 1.68
Regex_Nested_Backtrack 38.205932501503185 ns/iter 23.620397771675485 ns/iter 1.62
JSON_Array_Of_Objects_Unique 712.8766702133486 ns/iter 328.59342596382163 ns/iter 2.17
JSON_Parse_1 5830.478482004053 ns/iter 3780.018735824984 ns/iter 1.54
JSON_Parse_Real 9065.785267793799 ns/iter 5885.974971498991 ns/iter 1.54
JSON_Parse_Decimal 11161.458583923728 ns/iter 7540.260969064384 ns/iter 1.48
JSON_Parse_Schema_ISO_Language 6018366.884955038 ns/iter 3406270.7225134955 ns/iter 1.77
JSON_Fast_Hash_Helm_Chart_Lock 78.3496774825756 ns/iter 54.81535630842229 ns/iter 1.43
JSON_Equality_Helm_Chart_Lock 207.37399584278464 ns/iter 144.83680521691215 ns/iter 1.43
JSON_Divisible_By_Decimal 280.67488944800624 ns/iter 162.6552867449365 ns/iter 1.73
JSON_String_Equal/10 9.603037977154079 ns/iter 6.29414320217106 ns/iter 1.53
JSON_String_Equal/100 8.914058712890602 ns/iter 6.032854997054367 ns/iter 1.48
JSON_String_Equal_Small_By_Perfect_Hash/10 1.1082071463745389 ns/iter 0.6955745990823392 ns/iter 1.59
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.634780498440164 ns/iter 3.2235840465855343 ns/iter 1.44
JSON_String_Fast_Hash/10 3.2018123813413415 ns/iter 2.202681335891945 ns/iter 1.45
JSON_String_Fast_Hash/100 2.7037896362900287 ns/iter 2.0668423360674195 ns/iter 1.31
JSON_String_Key_Hash/10 1.868068626124216 ns/iter 1.2650213875325638 ns/iter 1.48
JSON_String_Key_Hash/100 3.2460505566634836 ns/iter 1.9943519008245814 ns/iter 1.63
JSON_Object_Defines_Miss_Same_Length 3.621364503331803 ns/iter 2.206528731337013 ns/iter 1.64
JSON_Object_Defines_Miss_Too_Small 3.464644046618368 ns/iter 2.205199454028207 ns/iter 1.57
JSON_Object_Defines_Miss_Too_Large 3.2773328614848127 ns/iter 2.2076837272653895 ns/iter 1.48
Pointer_Object_Traverse 21.787095447846387 ns/iter 13.139508261329322 ns/iter 1.66
Pointer_Object_Try_Traverse 26.678758710077503 ns/iter 17.82440780128608 ns/iter 1.50
Pointer_Push_Back_Pointer_To_Weak_Pointer 221.27170032821266 ns/iter 143.6666988151309 ns/iter 1.54
Pointer_Walker_Schema_ISO_Language 6623771.06741434 ns/iter 3927417.370786305 ns/iter 1.69
Pointer_Maybe_Tracked_Deeply_Nested/0 1450479.678278852 ns/iter 879802.4744621256 ns/iter 1.65
Pointer_Maybe_Tracked_Deeply_Nested/1 2269538.4193552462 ns/iter 1190292.383161878 ns/iter 1.91
Pointer_Position_Tracker_Get_Deeply_Nested 539.1004589998829 ns/iter 397.4717262197617 ns/iter 1.36
Schema_Frame_WoT_References 7889581.166667863 ns/iter 4975910.576922616 ns/iter 1.59
Schema_Frame_OMC_References 48264159.7222179 ns/iter 22300459.75861215 ns/iter 2.16
Schema_Frame_OMC_Locations 41202009.82353762 ns/iter 21132176.757570658 ns/iter 1.95
Schema_Frame_ISO_Language_Locations 134362281.24999163 ns/iter 65818274.999992356 ns/iter 2.04
Schema_Frame_KrakenD_References 71719064.77777964 ns/iter 44433850.47058173 ns/iter 1.61
Schema_Frame_KrakenD_Reachable 753507958.9999895 ns/iter 339681896.00000185 ns/iter 2.22
Schema_Iterator_ISO_Language 3797012.5930224787 ns/iter 1973725.073314407 ns/iter 1.92
Schema_Frame_ISO_Language_Locations_To_JSON 136195635.50003022 ns/iter 88712446.42854695 ns/iter 1.54
Schema_Tracker_ISO_Language 6986604.413794276 ns/iter 5646499.641023603 ns/iter 1.24
Schema_Tracker_ISO_Language_To_JSON 19429376.205881882 ns/iter 12708570.175435167 ns/iter 1.53
Schema_Format_ISO_Language_To_JSON 115435909.49994117 ns/iter 67777254.30001739 ns/iter 1.70
Schema_Bundle_Meta_2020_12 2053119.319401985 ns/iter 1277967.671779688 ns/iter 1.61
Schema_Frame_Many_Resources_References 571902999.9997929 ns/iter 270084020.5000077 ns/iter 2.12
EditorSchema_ForEditor_EmbeddedResources 19392794.409084633 ns/iter 9585526.069454571 ns/iter 2.02
URITemplateRouter_Create 36766.36276460067 ns/iter 21348.306826478027 ns/iter 1.72
URITemplateRouter_Match 226.80501416756368 ns/iter 152.1289571808007 ns/iter 1.49
URITemplateRouter_Match_BasePath 261.056488639758 ns/iter 180.71165675355317 ns/iter 1.44
URITemplateRouterView_Restore 15084.08509063568 ns/iter 8565.036370811624 ns/iter 1.76
URITemplateRouterView_Match 240.2435392428179 ns/iter 122.79840466650684 ns/iter 1.96
URITemplateRouterView_Match_BasePath 264.39234088985563 ns/iter 136.88861168176527 ns/iter 1.93
URITemplateRouterView_Arguments 669.0701294981192 ns/iter 387.6781141579072 ns/iter 1.73
JSONL_Parse_Large 17621720.969697036 ns/iter 11320225.806450194 ns/iter 1.56
JSONL_Parse_Large_GZIP 23525501.312505525 ns/iter 12056025.15517904 ns/iter 1.95
HTML_Build_Table_100000 89583349.00000864 ns/iter 62863506.91668001 ns/iter 1.43
HTML_Render_Table_100000 6093729.910714631 ns/iter 2395650.869128064 ns/iter 2.54

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: aeda1bb Previous: 3d7dbd2 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 8.83107987128895 ns/iter 8.851792410712482 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 8.911207589285144 ns/iter 8.821861607144806 ns/iter 1.01
Regex_Period_Asterisk 8.826995049881315 ns/iter 8.824931919644285 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 8.972023437500303 ns/iter 8.824604910712607 ns/iter 1.02
Regex_Period_Plus 11.332596875000434 ns/iter 11.276278124999095 ns/iter 1.00
Regex_Period 11.31568437499908 ns/iter 11.28634999999889 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 11.349812500000667 ns/iter 11.285307812499923 ns/iter 1.01
Regex_Caret_Group_Period_Plus_Group_Dollar 11.297342187500448 ns/iter 11.283580357144276 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 8.851785228338864 ns/iter 8.82857589285635 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 8.938036567239037 ns/iter 8.82520982142714 ns/iter 1.01
Regex_Caret_X_Hyphen 13.791857081289976 ns/iter 13.754123376100404 ns/iter 1.00
Regex_Period_Md_Dollar 40.410442505506914 ns/iter 41.37292421481132 ns/iter 0.98
Regex_Caret_Slash_Period_Asterisk 13.139208423484 ns/iter 13.062508928572113 ns/iter 1.01
Regex_Caret_Period_Range_Dollar 11.302244642860973 ns/iter 11.283250000001743 ns/iter 1.00
Regex_Nested_Backtrack 50.59190970585665 ns/iter 52.55896428571256 ns/iter 0.96
JSON_Array_Of_Objects_Unique 497.77540000013687 ns/iter 497.05119999998715 ns/iter 1.00
JSON_Parse_1 7613.985491070302 ns/iter 7530.95089285592 ns/iter 1.01
JSON_Parse_Real 13849.403571429419 ns/iter 13824.171320666022 ns/iter 1.00
JSON_Parse_Decimal 14887.042410717095 ns/iter 14613.908482142993 ns/iter 1.02
JSON_Parse_Schema_ISO_Language 6335320.535713761 ns/iter 6413197.321427739 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 60.81592857142937 ns/iter 57.911361607157886 ns/iter 1.05
JSON_Equality_Helm_Chart_Lock 277.1059295934284 ns/iter 283.5446064082182 ns/iter 0.98
JSON_Divisible_By_Decimal 255.72550000000712 ns/iter 256.37753571426657 ns/iter 1.00
JSON_String_Equal/10 11.34477187500238 ns/iter 11.43496874999883 ns/iter 0.99
JSON_String_Equal/100 13.159946428568706 ns/iter 13.430492857143658 ns/iter 0.98
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1226768749997404 ns/iter 2.124787500000025 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 11.962692857143306 ns/iter 11.895633928572483 ns/iter 1.01
JSON_String_Fast_Hash/10 3.5290126953790875 ns/iter 3.548274904378101 ns/iter 0.99
JSON_String_Fast_Hash/100 3.53301356590843 ns/iter 3.562730798005001 ns/iter 0.99
JSON_String_Key_Hash/10 3.8994123883919127 ns/iter 3.906168526786047 ns/iter 1.00
JSON_String_Key_Hash/100 16.939896761565844 ns/iter 17.302088946640747 ns/iter 0.98
JSON_Object_Defines_Miss_Same_Length 4.972496999998839 ns/iter 4.9958650000007765 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.9440746499003763 ns/iter 4.2053032664371495 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Large 3.854636718748797 ns/iter 3.8802661830355287 ns/iter 0.99
Pointer_Object_Traverse 42.03781169103353 ns/iter 42.920412499995564 ns/iter 0.98
Pointer_Object_Try_Traverse 53.125883928564534 ns/iter 53.58832142856532 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 170.97114537752515 ns/iter 174.8231138234844 ns/iter 0.98
Pointer_Walker_Schema_ISO_Language 12505903.124999663 ns/iter 13050626.785712894 ns/iter 0.96
Pointer_Maybe_Tracked_Deeply_Nested/0 1947431.2499994538 ns/iter 1928209.3645486927 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/1 3048513.1355933044 ns/iter 3038365.6250003404 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 645.5344866070435 ns/iter 658.1006696428915 ns/iter 0.98
Schema_Frame_WoT_References 10543521.875000294 ns/iter 10155139.062497653 ns/iter 1.04
Schema_Frame_OMC_References 45125459.99999323 ns/iter 46385686.66665985 ns/iter 0.97
Schema_Frame_OMC_Locations 40965158.82352993 ns/iter 42943168.749999925 ns/iter 0.95
Schema_Frame_ISO_Language_Locations 200174466.66664302 ns/iter 214627299.9999989 ns/iter 0.93
Schema_Frame_KrakenD_References 93246285.7142582 ns/iter 97325671.42857209 ns/iter 0.96
Schema_Frame_KrakenD_Reachable 517908799.9999865 ns/iter 550326399.9999036 ns/iter 0.94
Schema_Iterator_ISO_Language 6591311.6071426105 ns/iter 7048876.785713024 ns/iter 0.94
Schema_Frame_ISO_Language_Locations_To_JSON 306613800.0000365 ns/iter 312625300.00003606 ns/iter 0.98
Schema_Tracker_ISO_Language 9744661.333331048 ns/iter 10754084.37499803 ns/iter 0.91
Schema_Tracker_ISO_Language_To_JSON 50024521.42857043 ns/iter 52351279.99999349 ns/iter 0.96
Schema_Format_ISO_Language_To_JSON 198538625.00002605 ns/iter 210021733.33325422 ns/iter 0.95
Schema_Bundle_Meta_2020_12 2835230.1204864327 ns/iter 2888495.9839438326 ns/iter 0.98
Schema_Frame_Many_Resources_References 1463620800.0001717 ns/iter 1511357900.0001209 ns/iter 0.97
EditorSchema_ForEditor_EmbeddedResources 30406327.272689022 ns/iter 31487418.18185127 ns/iter 0.97
URITemplateRouter_Create 36472.57932026722 ns/iter 37788.01092836608 ns/iter 0.97
URITemplateRouter_Match 252.2665231845547 ns/iter 220.63724999995318 ns/iter 1.14
URITemplateRouter_Match_BasePath 292.56540261544757 ns/iter 256.4985624999849 ns/iter 1.14
URITemplateRouterView_Restore 23521.85020256462 ns/iter 23511.186259080223 ns/iter 1.00
URITemplateRouterView_Match 153.15098214289588 ns/iter 152.4942410714658 ns/iter 1.00
URITemplateRouterView_Match_BasePath 178.41225301867559 ns/iter 178.7137217888446 ns/iter 1.00
URITemplateRouterView_Arguments 445.52830476914664 ns/iter 443.54232315825874 ns/iter 1.00
JSONL_Parse_Large 26925142.30769715 ns/iter 27039657.692302383 ns/iter 1.00
JSONL_Parse_Large_GZIP 26732099.999995068 ns/iter 26618989.28571255 ns/iter 1.00
HTML_Build_Table_100000 92335757.14285637 ns/iter 91278999.9999859 ns/iter 1.01
HTML_Render_Table_100000 8010754.444444502 ns/iter 8341122.222221504 ns/iter 0.96

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: aeda1bb Previous: 3d7dbd2 Ratio
HTML_Build_Table_100000 67928178.29998513 ns/iter 67852165.09999827 ns/iter 1.00
HTML_Render_Table_100000 4936139.1151081035 ns/iter 4932403.6428564405 ns/iter 1.00
JSONL_Parse_Large 11805265.03389956 ns/iter 12662177.672729574 ns/iter 0.93
JSONL_Parse_Large_GZIP 13047001.277780307 ns/iter 13834359.705884602 ns/iter 0.94
URITemplateRouter_Create 30590.155749446683 ns/iter 30546.022320070242 ns/iter 1.00
URITemplateRouter_Match 179.41705725487952 ns/iter 176.6924410518112 ns/iter 1.02
URITemplateRouter_Match_BasePath 210.42511447169815 ns/iter 210.61625600028546 ns/iter 1.00
URITemplateRouterView_Restore 8332.367084867568 ns/iter 8608.604186887775 ns/iter 0.97
URITemplateRouterView_Match 136.3696731521875 ns/iter 134.79031743616545 ns/iter 1.01
URITemplateRouterView_Match_BasePath 157.6688984281173 ns/iter 158.56835316628383 ns/iter 0.99
URITemplateRouterView_Arguments 458.6584234002771 ns/iter 458.86445135172255 ns/iter 1.00
EditorSchema_ForEditor_EmbeddedResources 14044471.900019743 ns/iter 14024525.41999992 ns/iter 1.00
Schema_Frame_WoT_References 5493061.335938521 ns/iter 5483348.188975677 ns/iter 1.00
Schema_Frame_OMC_References 22692268.451611463 ns/iter 22633339.90323014 ns/iter 1.00
Schema_Frame_OMC_Locations 21098725.00000165 ns/iter 21007655.666663237 ns/iter 1.00
Schema_Frame_ISO_Language_Locations 98904329.2857202 ns/iter 101045750.6666853 ns/iter 0.98
Schema_Frame_KrakenD_References 41913658.058828175 ns/iter 41598931.99999608 ns/iter 1.01
Schema_Frame_KrakenD_Reachable 571127096.0000547 ns/iter 569196256.9999305 ns/iter 1.00
Schema_Iterator_ISO_Language 3160818.6981980773 ns/iter 3187326.631818492 ns/iter 0.99
Schema_Frame_ISO_Language_Locations_To_JSON 230523780.3333663 ns/iter 235121251.66666922 ns/iter 0.98
Schema_Tracker_ISO_Language 4365469.0499991495 ns/iter 4395400.836478955 ns/iter 0.99
Schema_Tracker_ISO_Language_To_JSON 21585312.666667793 ns/iter 21822389.12499912 ns/iter 0.99
Schema_Format_ISO_Language_To_JSON 106570881.14284566 ns/iter 109098449.85719375 ns/iter 0.98
Schema_Bundle_Meta_2020_12 1782498.5442915978 ns/iter 1790261.3503827853 ns/iter 1.00
Schema_Frame_Many_Resources_References 379344883.00004435 ns/iter 382420540.50010663 ns/iter 0.99
Pointer_Object_Traverse 26.259400907812577 ns/iter 26.135245981663697 ns/iter 1.00
Pointer_Object_Try_Traverse 21.88562507055612 ns/iter 21.902708511069818 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 187.5662122276572 ns/iter 172.2063488654463 ns/iter 1.09
Pointer_Walker_Schema_ISO_Language 3567790.1249994193 ns/iter 3571181.7020196253 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/0 1500394.3290325243 ns/iter 1524325.7096065914 ns/iter 0.98
Pointer_Maybe_Tracked_Deeply_Nested/1 1719083.3088236826 ns/iter 1756830.268844274 ns/iter 0.98
Pointer_Position_Tracker_Get_Deeply_Nested 412.23948729273377 ns/iter 441.5058145518993 ns/iter 0.93
JSON_Array_Of_Objects_Unique 412.30397252330306 ns/iter 440.10151903502924 ns/iter 0.94
JSON_Parse_1 7579.102190016081 ns/iter 7764.6087626685685 ns/iter 0.98
JSON_Parse_Real 11778.45944167045 ns/iter 14058.65208699975 ns/iter 0.84
JSON_Parse_Decimal 16300.48055224989 ns/iter 16605.92904478087 ns/iter 0.98
JSON_Parse_Schema_ISO_Language 4674023.904458785 ns/iter 4558716.732026071 ns/iter 1.03
JSON_Fast_Hash_Helm_Chart_Lock 55.28414228293714 ns/iter 67.92584517262668 ns/iter 0.81
JSON_Equality_Helm_Chart_Lock 170.3002594194332 ns/iter 173.96546885464824 ns/iter 0.98
JSON_Divisible_By_Decimal 231.0040738305948 ns/iter 231.65054112497558 ns/iter 1.00
JSON_String_Equal/10 6.88363070618056 ns/iter 6.745361967964252 ns/iter 1.02
JSON_String_Equal/100 7.087713551908904 ns/iter 7.285792979464884 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7127817538160698 ns/iter 0.7123417613085608 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 21.94441995605443 ns/iter 21.999910413858125 ns/iter 1.00
JSON_String_Fast_Hash/10 1.7582006055960926 ns/iter 1.7610960284014496 ns/iter 1.00
JSON_String_Fast_Hash/100 1.7579391675569658 ns/iter 1.7584647640749855 ns/iter 1.00
JSON_String_Key_Hash/10 1.0851840211241115 ns/iter 1.0851035386788523 ns/iter 1.00
JSON_String_Key_Hash/100 15.181641331544775 ns/iter 14.761885186711057 ns/iter 1.03
JSON_Object_Defines_Miss_Same_Length 3.8724112456823323 ns/iter 3.8741919780323433 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 4.2214856573045685 ns/iter 4.224063468349621 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.5172773981833787 ns/iter 3.520939658937354 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 0.7064006363558715 ns/iter 0.7040926448402894 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.7035499072007436 ns/iter 0.7036073365902143 ns/iter 1.00
Regex_Period_Asterisk 1.055053902215836 ns/iter 1.0557209099451614 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 1.0554619027060343 ns/iter 1.0563017962140557 ns/iter 1.00
Regex_Period_Plus 0.7035346978732763 ns/iter 0.7045755963754504 ns/iter 1.00
Regex_Period 0.7045983101361024 ns/iter 0.7036717838790328 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 1.0551609251530951 ns/iter 1.0555965514851948 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 1.0555876705394807 ns/iter 1.0576473821918908 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 0.7032934765290598 ns/iter 0.7040731310601264 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.703988661269008 ns/iter 0.7043804807746515 ns/iter 1.00
Regex_Caret_X_Hyphen 3.5196254684520145 ns/iter 3.520919160001962 ns/iter 1.00
Regex_Period_Md_Dollar 34.22925910713861 ns/iter 33.235519895659934 ns/iter 1.03
Regex_Caret_Slash_Period_Asterisk 4.570377597203361 ns/iter 4.573809293615493 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 0.8384528969108309 ns/iter 0.8452315968605216 ns/iter 0.99
Regex_Nested_Backtrack 49.13077282038196 ns/iter 38.64716378381951 ns/iter 1.27

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

@jviotti jviotti merged commit 3ea0eb1 into main May 16, 2026
13 checks passed
@jviotti jviotti deleted the datetime-fixes branch May 16, 2026 20:36
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