Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: This PR adds support for validating internationalized (EAI) e-mail addresses per RFC 6531, in addition to the existing RFC 5321 ASCII validation. Changes:
Notes: The new IDN validator enforces RFC 5321 size limits in octets (local-part ≤ 64, domain ≤ 255, label ≤ 63) while permitting valid UTF-8 non-ASCII sequences where RFC 6531 extends the grammar. 🤖 Was this summary useful? React with 👍 or 👎 |
| } | ||
| domain.append(1, 'a'); | ||
| // size = 63*4 + 4 + 1 = 257; trim to exactly 256 | ||
| domain.resize(256, 'a'); |
There was a problem hiding this comment.
test/email/idn_email_test.cc:395: After domain.resize(256, 'a'), the constructed domain ends with a trailing . (because the final single-character label gets truncated), so the test would still fail even if the 255-octet length check were accidentally removed. This makes the test less specific for validating the domain-length cap behavior.
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
2 issues found across 13 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 21cda8b | Previous: e832723 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.46738943492435 ns/iter |
2.1996567728995133 ns/iter |
1.12 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.462267612101789 ns/iter |
2.2077294717371823 ns/iter |
1.12 |
Regex_Period_Asterisk |
2.4724938068215256 ns/iter |
2.18010535676737 ns/iter |
1.13 |
Regex_Group_Period_Asterisk_Group |
2.462758498546909 ns/iter |
2.1937180536919203 ns/iter |
1.12 |
Regex_Period_Plus |
3.8670073480185967 ns/iter |
2.8070780573028404 ns/iter |
1.38 |
Regex_Period |
4.218822597800704 ns/iter |
3.114797648871015 ns/iter |
1.35 |
Regex_Caret_Period_Plus_Dollar |
3.8713289245987137 ns/iter |
2.8063296796131874 ns/iter |
1.38 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
4.219977955761685 ns/iter |
3.112969479282914 ns/iter |
1.36 |
Regex_Caret_Period_Asterisk_Dollar |
2.4626759574183286 ns/iter |
3.114146816637613 ns/iter |
0.79 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.8137095320520364 ns/iter |
3.422576970000296 ns/iter |
0.82 |
Regex_Caret_X_Hyphen |
7.032470599201385 ns/iter |
6.544977561330682 ns/iter |
1.07 |
Regex_Period_Md_Dollar |
26.762047903730135 ns/iter |
27.416826738377754 ns/iter |
0.98 |
Regex_Caret_Slash_Period_Asterisk |
7.382951318149629 ns/iter |
6.850976699466928 ns/iter |
1.08 |
Regex_Caret_Period_Range_Dollar |
3.8672399786755625 ns/iter |
3.7361464136938953 ns/iter |
1.04 |
Regex_Nested_Backtrack |
37.065204508047785 ns/iter |
36.905777877543265 ns/iter |
1.00 |
JSON_Array_Of_Objects_Unique |
417.4544583907074 ns/iter |
386.73397222830675 ns/iter |
1.08 |
JSON_Parse_1 |
5605.515443477241 ns/iter |
5836.440772591699 ns/iter |
0.96 |
JSON_Parse_Real |
10374.3977996441 ns/iter |
10562.348369334371 ns/iter |
0.98 |
JSON_Parse_Decimal |
11121.72578546461 ns/iter |
10886.148669772096 ns/iter |
1.02 |
JSON_Parse_Schema_ISO_Language |
3600586.087628992 ns/iter |
3566214.255102131 ns/iter |
1.01 |
JSON_Fast_Hash_Helm_Chart_Lock |
65.04175492543024 ns/iter |
53.558191364273405 ns/iter |
1.21 |
JSON_Equality_Helm_Chart_Lock |
164.78088162319375 ns/iter |
160.21464315907295 ns/iter |
1.03 |
JSON_Divisible_By_Decimal |
239.35293758377622 ns/iter |
247.3694544705118 ns/iter |
0.97 |
JSON_String_Equal/10 |
5.983434881159271 ns/iter |
7.16432634801008 ns/iter |
0.84 |
JSON_String_Equal/100 |
6.682006464783699 ns/iter |
6.858073821179724 ns/iter |
0.97 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.0544428030353141 ns/iter |
0.9362119009422682 ns/iter |
1.13 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
12.489381174277833 ns/iter |
10.274975048031724 ns/iter |
1.22 |
JSON_String_Fast_Hash/10 |
2.4632401182550345 ns/iter |
2.4925839722744243 ns/iter |
0.99 |
JSON_String_Fast_Hash/100 |
2.46720081369426 ns/iter |
2.494952999665258 ns/iter |
0.99 |
JSON_String_Key_Hash/10 |
2.462106883120562 ns/iter |
2.1808782778303364 ns/iter |
1.13 |
JSON_String_Key_Hash/100 |
8.085366181815244 ns/iter |
6.540627252411709 ns/iter |
1.24 |
JSON_Object_Defines_Miss_Same_Length |
4.222242709900018 ns/iter |
3.739178778188629 ns/iter |
1.13 |
JSON_Object_Defines_Miss_Too_Small |
4.224359340550422 ns/iter |
3.741718881691402 ns/iter |
1.13 |
JSON_Object_Defines_Miss_Too_Large |
4.220345482699388 ns/iter |
3.742828795753063 ns/iter |
1.13 |
Pointer_Object_Traverse |
27.332226850728325 ns/iter |
24.320590353654172 ns/iter |
1.12 |
Pointer_Object_Try_Traverse |
30.60420713849389 ns/iter |
26.02193851475689 ns/iter |
1.18 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
190.94595139987243 ns/iter |
157.0903712712709 ns/iter |
1.22 |
Pointer_Walker_Schema_ISO_Language |
3147677.8363634655 ns/iter |
3000939.5517241983 ns/iter |
1.05 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1412286.978174551 ns/iter |
1440930.2282827944 ns/iter |
0.98 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1705383.2014742207 ns/iter |
1900062.3196722285 ns/iter |
0.90 |
Pointer_Position_Tracker_Get_Deeply_Nested |
655.7481779356049 ns/iter |
644.4319524626187 ns/iter |
1.02 |
URITemplateRouter_Create |
29684.67883768075 ns/iter |
31566.01145640707 ns/iter |
0.94 |
URITemplateRouter_Match |
190.8673464784428 ns/iter |
176.1295524383524 ns/iter |
1.08 |
URITemplateRouter_Match_BasePath |
227.5701944279261 ns/iter |
203.80128089736536 ns/iter |
1.12 |
URITemplateRouterView_Restore |
8233.419276576518 ns/iter |
7652.612550336167 ns/iter |
1.08 |
URITemplateRouterView_Match |
144.18762331955344 ns/iter |
144.11980573589253 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
164.4532738868878 ns/iter |
162.88782772310375 ns/iter |
1.01 |
URITemplateRouterView_Arguments |
468.15646471496484 ns/iter |
434.82304434756725 ns/iter |
1.08 |
JSONL_Parse_Large |
10036455.753623264 ns/iter |
10758670.507692175 ns/iter |
0.93 |
JSONL_Parse_Large_GZIP |
11353002.838709177 ns/iter |
11962355.56896509 ns/iter |
0.95 |
HTML_Build_Table_100000 |
85661753.49999838 ns/iter |
62957515.81818236 ns/iter |
1.36 |
HTML_Render_Table_100000 |
5281133.015151254 ns/iter |
5257504.618320915 ns/iter |
1.00 |
GZIP_Compress_ISO_Language_Set_3_Locations |
36472145.10526079 ns/iter |
33918662.00000019 ns/iter |
1.08 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4660185.426666886 ns/iter |
4729387.637583893 ns/iter |
0.99 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2149579.083333332 ns/iter |
1878856.629032142 ns/iter |
1.14 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
293907.192097521 ns/iter |
377606.18736501486 ns/iter |
0.78 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/gcc)
Details
| Benchmark suite | Current: 21cda8b | Previous: e832723 | Ratio |
|---|---|---|---|
GZIP_Compress_ISO_Language_Set_3_Locations |
38127722.22222331 ns/iter |
38158784.500000015 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4864415.688405847 ns/iter |
4898624.925170234 ns/iter |
0.99 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2071479.2366863976 ns/iter |
2070777.3402367544 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
394243.736723164 ns/iter |
394494.5482062787 ns/iter |
1.00 |
HTML_Build_Table_100000 |
58431295.50000015 ns/iter |
58974773.66666711 ns/iter |
0.99 |
HTML_Render_Table_100000 |
1948665.0362116576 ns/iter |
1795484.3798449324 ns/iter |
1.09 |
JSONL_Parse_Large |
13337926.377359191 ns/iter |
13038007.500000503 ns/iter |
1.02 |
JSONL_Parse_Large_GZIP |
14443948.469387839 ns/iter |
14321219.57142898 ns/iter |
1.01 |
URITemplateRouter_Create |
30880.27940335453 ns/iter |
30700.44542307424 ns/iter |
1.01 |
URITemplateRouter_Match |
177.42280024042188 ns/iter |
176.17113901810805 ns/iter |
1.01 |
URITemplateRouter_Match_BasePath |
199.7881221649827 ns/iter |
201.14139841074424 ns/iter |
0.99 |
URITemplateRouterView_Restore |
7833.894714177047 ns/iter |
7779.15098415974 ns/iter |
1.01 |
URITemplateRouterView_Match |
144.07242455710448 ns/iter |
143.9545436315941 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
165.0855589945154 ns/iter |
165.5521092960643 ns/iter |
1.00 |
URITemplateRouterView_Arguments |
475.66086633948277 ns/iter |
481.5986455830252 ns/iter |
0.99 |
Pointer_Object_Traverse |
24.54624591871065 ns/iter |
25.919396029240133 ns/iter |
0.95 |
Pointer_Object_Try_Traverse |
20.022417267361007 ns/iter |
20.041509554461637 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
148.92611217505262 ns/iter |
146.79925850841826 ns/iter |
1.01 |
Pointer_Walker_Schema_ISO_Language |
3298595.2547169034 ns/iter |
3308661.2547170925 ns/iter |
1.00 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1605694.803652996 ns/iter |
1587688.1425338255 ns/iter |
1.01 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1766614.238578761 ns/iter |
1743014.1720698902 ns/iter |
1.01 |
Pointer_Position_Tracker_Get_Deeply_Nested |
567.113286092249 ns/iter |
577.5969132008014 ns/iter |
0.98 |
JSON_Array_Of_Objects_Unique |
434.00812342298195 ns/iter |
431.27733200659264 ns/iter |
1.01 |
JSON_Parse_1 |
8172.179689683976 ns/iter |
8127.375736062988 ns/iter |
1.01 |
JSON_Parse_Real |
12414.855299946288 ns/iter |
12192.877941943601 ns/iter |
1.02 |
JSON_Parse_Decimal |
18129.988132255352 ns/iter |
18129.154241577973 ns/iter |
1.00 |
JSON_Parse_Schema_ISO_Language |
4626263.7615895895 ns/iter |
4698582.550335592 ns/iter |
0.98 |
JSON_Fast_Hash_Helm_Chart_Lock |
72.68015421361468 ns/iter |
74.14552357795431 ns/iter |
0.98 |
JSON_Equality_Helm_Chart_Lock |
160.23917994333857 ns/iter |
163.18285413868963 ns/iter |
0.98 |
JSON_Divisible_By_Decimal |
237.51815528774986 ns/iter |
236.61274286556392 ns/iter |
1.00 |
JSON_String_Equal/10 |
5.967259790818047 ns/iter |
5.965518672409065 ns/iter |
1.00 |
JSON_String_Equal/100 |
6.590745308961074 ns/iter |
6.612694884621844 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7401050325013298 ns/iter |
0.7400498100494042 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
25.199192952844122 ns/iter |
25.187698265575612 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
0.9342236842744768 ns/iter |
0.9340525909987402 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
0.9350766977146328 ns/iter |
0.9345597338410486 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
1.2466594557349016 ns/iter |
1.246782136172886 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
12.446222029338493 ns/iter |
12.444582002239349 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.117931435193032 ns/iter |
3.1135456108515176 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.1170883853482496 ns/iter |
3.116893581752884 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.426671713785965 ns/iter |
3.437648570929781 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
0.9352971663122126 ns/iter |
0.9349541099029665 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
0.6228853373202854 ns/iter |
0.6252841272947457 ns/iter |
1.00 |
Regex_Period_Asterisk |
0.6227509102034195 ns/iter |
0.6234227723884165 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
0.9343870454999735 ns/iter |
0.9335219863039076 ns/iter |
1.00 |
Regex_Period_Plus |
0.9344705429777735 ns/iter |
0.9349373384590581 ns/iter |
1.00 |
Regex_Period |
0.6227102713942148 ns/iter |
0.6229073185216599 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
0.6256664961324405 ns/iter |
0.6225387064453923 ns/iter |
1.01 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
0.9343445632619692 ns/iter |
0.9347464017488581 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
0.9353205286524177 ns/iter |
0.9337076732374001 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
0.6234929425121206 ns/iter |
0.6230090725060097 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
4.674733847999305 ns/iter |
4.051331957188607 ns/iter |
1.15 |
Regex_Period_Md_Dollar |
30.81116794256658 ns/iter |
28.901713963384758 ns/iter |
1.07 |
Regex_Caret_Slash_Period_Asterisk |
4.355901596059275 ns/iter |
4.358814551110244 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
0.7786966932841141 ns/iter |
0.7789866585944206 ns/iter |
1.00 |
Regex_Nested_Backtrack |
39.362791786916844 ns/iter |
37.61464224593511 ns/iter |
1.05 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (macos/llvm)
Details
| Benchmark suite | Current: 21cda8b | Previous: e832723 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.0446997069649515 ns/iter |
2.0230934080012655 ns/iter |
1.01 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.7150107394687182 ns/iter |
1.9017966346137758 ns/iter |
0.90 |
Regex_Period_Asterisk |
1.7092538489197031 ns/iter |
1.7958050360173214 ns/iter |
0.95 |
Regex_Group_Period_Asterisk_Group |
1.715040345619468 ns/iter |
1.6815941858795471 ns/iter |
1.02 |
Regex_Period_Plus |
2.0518287584800943 ns/iter |
1.9730831567095817 ns/iter |
1.04 |
Regex_Period |
2.0507582468991865 ns/iter |
2.037694326878609 ns/iter |
1.01 |
Regex_Caret_Period_Plus_Dollar |
2.063449108318413 ns/iter |
2.234747405152416 ns/iter |
0.92 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.0573837481051873 ns/iter |
2.363393288677956 ns/iter |
0.87 |
Regex_Caret_Period_Asterisk_Dollar |
1.7189102377924494 ns/iter |
1.94843621225017 ns/iter |
0.88 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.8155381660027639 ns/iter |
1.6329322025127677 ns/iter |
1.11 |
Regex_Caret_X_Hyphen |
6.337753904742929 ns/iter |
5.793675224612956 ns/iter |
1.09 |
Regex_Period_Md_Dollar |
16.625870403843603 ns/iter |
16.227944955795053 ns/iter |
1.02 |
Regex_Caret_Slash_Period_Asterisk |
8.104886289910763 ns/iter |
7.8981599206024065 ns/iter |
1.03 |
Regex_Caret_Period_Range_Dollar |
1.7131789351214586 ns/iter |
1.6856901589803592 ns/iter |
1.02 |
Regex_Nested_Backtrack |
24.68591922130834 ns/iter |
23.180329605954086 ns/iter |
1.06 |
JSON_Array_Of_Objects_Unique |
428.21976109068265 ns/iter |
403.38923110532437 ns/iter |
1.06 |
JSON_Parse_1 |
4243.26556004892 ns/iter |
3680.3987963140007 ns/iter |
1.15 |
JSON_Parse_Real |
6460.4593354880535 ns/iter |
6293.059443878505 ns/iter |
1.03 |
JSON_Parse_Decimal |
8072.764805040775 ns/iter |
8301.205322584545 ns/iter |
0.97 |
JSON_Parse_Schema_ISO_Language |
2828499.1680000075 ns/iter |
2671209.615384494 ns/iter |
1.06 |
JSON_Fast_Hash_Helm_Chart_Lock |
58.56447474046987 ns/iter |
55.822702254066556 ns/iter |
1.05 |
JSON_Equality_Helm_Chart_Lock |
134.64109382625756 ns/iter |
129.7475032837203 ns/iter |
1.04 |
JSON_Divisible_By_Decimal |
175.87182475222937 ns/iter |
166.83735146842008 ns/iter |
1.05 |
JSON_String_Equal/10 |
6.773012006881644 ns/iter |
6.4355062146499975 ns/iter |
1.05 |
JSON_String_Equal/100 |
6.523477755107477 ns/iter |
6.163711843219169 ns/iter |
1.06 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7584854612134978 ns/iter |
0.7420858283490555 ns/iter |
1.02 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.321992139264785 ns/iter |
3.8128548508170046 ns/iter |
0.87 |
JSON_String_Fast_Hash/10 |
2.3825872904028382 ns/iter |
2.6242228959743383 ns/iter |
0.91 |
JSON_String_Fast_Hash/100 |
2.064934118269114 ns/iter |
1.9597429217617235 ns/iter |
1.05 |
JSON_String_Key_Hash/10 |
1.3778188641316025 ns/iter |
1.4148943295042673 ns/iter |
0.97 |
JSON_String_Key_Hash/100 |
2.2708676151234983 ns/iter |
2.280149261041117 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
2.3690067390264398 ns/iter |
2.2379642661672694 ns/iter |
1.06 |
JSON_Object_Defines_Miss_Too_Small |
2.379854065773171 ns/iter |
2.23357380922309 ns/iter |
1.07 |
JSON_Object_Defines_Miss_Too_Large |
2.5712241138170744 ns/iter |
2.3037109064787753 ns/iter |
1.12 |
Pointer_Object_Traverse |
14.232530475925246 ns/iter |
13.405277274692386 ns/iter |
1.06 |
Pointer_Object_Try_Traverse |
20.513875689396194 ns/iter |
18.21744126185244 ns/iter |
1.13 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
168.20420325932972 ns/iter |
152.82527705724976 ns/iter |
1.10 |
Pointer_Walker_Schema_ISO_Language |
4433270.454545422 ns/iter |
3810732.3828567783 ns/iter |
1.16 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1059041.0776836476 ns/iter |
914473.7336122225 ns/iter |
1.16 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1402576.428571419 ns/iter |
1268184.5561594581 ns/iter |
1.11 |
Pointer_Position_Tracker_Get_Deeply_Nested |
363.44494209062617 ns/iter |
347.20258357470726 ns/iter |
1.05 |
URITemplateRouter_Create |
23398.47450415421 ns/iter |
22760.603500078032 ns/iter |
1.03 |
URITemplateRouter_Match |
170.0081215777512 ns/iter |
156.53184014436653 ns/iter |
1.09 |
URITemplateRouter_Match_BasePath |
199.0625452600542 ns/iter |
191.5108406868569 ns/iter |
1.04 |
URITemplateRouterView_Restore |
9333.127577173927 ns/iter |
8535.045523278519 ns/iter |
1.09 |
URITemplateRouterView_Match |
129.4865394998182 ns/iter |
121.11434376698516 ns/iter |
1.07 |
URITemplateRouterView_Match_BasePath |
153.21637148876837 ns/iter |
142.06436407190716 ns/iter |
1.08 |
URITemplateRouterView_Arguments |
404.84699872358414 ns/iter |
449.19196547694753 ns/iter |
0.90 |
JSONL_Parse_Large |
12347942.714286426 ns/iter |
11659196.659998087 ns/iter |
1.06 |
JSONL_Parse_Large_GZIP |
13237751.56603855 ns/iter |
11976098.169490365 ns/iter |
1.11 |
HTML_Build_Table_100000 |
71572219.63636445 ns/iter |
59049420.79999955 ns/iter |
1.21 |
HTML_Render_Table_100000 |
4039531.173228485 ns/iter |
2310208.331230452 ns/iter |
1.75 |
GZIP_Compress_ISO_Language_Set_3_Locations |
27878628.319999732 ns/iter |
26158385.814815793 ns/iter |
1.07 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
5015729.316546771 ns/iter |
5175050.000000283 ns/iter |
0.97 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1504182.506198363 ns/iter |
1471545.6081083112 ns/iter |
1.02 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
280614.42822678306 ns/iter |
268987.2409316381 ns/iter |
1.04 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (windows/msvc)
Details
| Benchmark suite | Current: 21cda8b | Previous: e832723 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
7.5531752232141764 ns/iter |
8.885738799616007 ns/iter |
0.85 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
7.499751116070946 ns/iter |
8.82088281249947 ns/iter |
0.85 |
Regex_Period_Asterisk |
7.512523437500005 ns/iter |
8.90681361607193 ns/iter |
0.84 |
Regex_Group_Period_Asterisk_Group |
7.507540178571962 ns/iter |
8.827376746309502 ns/iter |
0.85 |
Regex_Period_Plus |
9.68068906249897 ns/iter |
11.293082812500188 ns/iter |
0.86 |
Regex_Period |
9.673115581815177 ns/iter |
11.283193749996201 ns/iter |
0.86 |
Regex_Caret_Period_Plus_Dollar |
9.675961563946519 ns/iter |
11.305167187501297 ns/iter |
0.86 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
9.674399956809703 ns/iter |
11.277607142858415 ns/iter |
0.86 |
Regex_Caret_Period_Asterisk_Dollar |
7.513667410714576 ns/iter |
8.878764508928327 ns/iter |
0.85 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
7.512367857142773 ns/iter |
8.833320496278011 ns/iter |
0.85 |
Regex_Caret_X_Hyphen |
11.616737499999934 ns/iter |
13.676144805017673 ns/iter |
0.85 |
Regex_Period_Md_Dollar |
43.25915279893972 ns/iter |
40.53744786433886 ns/iter |
1.07 |
Regex_Caret_Slash_Period_Asterisk |
12.173073437498516 ns/iter |
13.043739285714246 ns/iter |
0.93 |
Regex_Caret_Period_Range_Dollar |
11.26915977111938 ns/iter |
11.285568750004416 ns/iter |
1.00 |
Regex_Nested_Backtrack |
46.34128384146668 ns/iter |
50.17599107142294 ns/iter |
0.92 |
JSON_Array_Of_Objects_Unique |
477.5175892857776 ns/iter |
504.24310000016703 ns/iter |
0.95 |
JSON_Parse_1 |
8099.785715242033 ns/iter |
7937.424107145676 ns/iter |
1.02 |
JSON_Parse_Real |
15246.018321344694 ns/iter |
13753.648198002442 ns/iter |
1.11 |
JSON_Parse_Decimal |
15523.852678572022 ns/iter |
14473.454136359143 ns/iter |
1.07 |
JSON_Parse_Schema_ISO_Language |
5820261.60714325 ns/iter |
6201744.642855342 ns/iter |
0.94 |
JSON_Fast_Hash_Helm_Chart_Lock |
71.93094642856985 ns/iter |
71.47557142855833 ns/iter |
1.01 |
JSON_Equality_Helm_Chart_Lock |
268.0154851792497 ns/iter |
271.62809917966933 ns/iter |
0.99 |
JSON_Divisible_By_Decimal |
248.21006688438243 ns/iter |
253.46018319014541 ns/iter |
0.98 |
JSON_String_Equal/10 |
12.879566071429087 ns/iter |
11.739060714286813 ns/iter |
1.10 |
JSON_String_Equal/100 |
14.231816071429648 ns/iter |
13.454049716727377 ns/iter |
1.06 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.8971263409794097 ns/iter |
1.9933449999996358 ns/iter |
0.95 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
12.62961785714367 ns/iter |
12.00805714285837 ns/iter |
1.05 |
JSON_String_Fast_Hash/10 |
3.9331210937503567 ns/iter |
4.234708802204655 ns/iter |
0.93 |
JSON_String_Fast_Hash/100 |
3.8889796051589545 ns/iter |
4.236005288286481 ns/iter |
0.92 |
JSON_String_Key_Hash/10 |
3.8001026717856523 ns/iter |
4.237623480252467 ns/iter |
0.90 |
JSON_String_Key_Hash/100 |
16.566345982145236 ns/iter |
16.930065511637515 ns/iter |
0.98 |
JSON_Object_Defines_Miss_Same_Length |
3.7615071361405903 ns/iter |
3.8885677214800194 ns/iter |
0.97 |
JSON_Object_Defines_Miss_Too_Small |
3.7682833861280085 ns/iter |
3.978162388393563 ns/iter |
0.95 |
JSON_Object_Defines_Miss_Too_Large |
5.025721428571575 ns/iter |
4.959544000003007 ns/iter |
1.01 |
Pointer_Object_Traverse |
40.69124999999753 ns/iter |
42.100990484117034 ns/iter |
0.97 |
Pointer_Object_Try_Traverse |
51.8534700000032 ns/iter |
53.3252321428839 ns/iter |
0.97 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
170.3735114089351 ns/iter |
166.1009932657095 ns/iter |
1.03 |
Pointer_Walker_Schema_ISO_Language |
11211268.749999449 ns/iter |
12421466.071430132 ns/iter |
0.90 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1927091.3043477668 ns/iter |
2195733.5714286533 ns/iter |
0.88 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3146791.5178571916 ns/iter |
2988775.423729086 ns/iter |
1.05 |
Pointer_Position_Tracker_Get_Deeply_Nested |
626.736941964293 ns/iter |
615.1080291618964 ns/iter |
1.02 |
URITemplateRouter_Create |
41275.55595733255 ns/iter |
38066.68526785525 ns/iter |
1.08 |
URITemplateRouter_Match |
220.7342499180548 ns/iter |
212.06243750000908 ns/iter |
1.04 |
URITemplateRouter_Match_BasePath |
251.74382142860657 ns/iter |
246.15853571422772 ns/iter |
1.02 |
URITemplateRouterView_Restore |
32680.30357143102 ns/iter |
23712.538922543717 ns/iter |
1.38 |
URITemplateRouterView_Match |
158.64370535713894 ns/iter |
158.33933035714105 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
179.11733342304555 ns/iter |
182.387353731265 ns/iter |
0.98 |
URITemplateRouterView_Arguments |
442.8384999999934 ns/iter |
459.95437679800074 ns/iter |
0.96 |
JSONL_Parse_Large |
30451179.166670766 ns/iter |
29320591.666665524 ns/iter |
1.04 |
JSONL_Parse_Large_GZIP |
30340809.090908106 ns/iter |
29031500.000000957 ns/iter |
1.05 |
HTML_Build_Table_100000 |
86463185.71429999 ns/iter |
91399500.00001462 ns/iter |
0.95 |
HTML_Render_Table_100000 |
7714478.888888406 ns/iter |
8039863.333331393 ns/iter |
0.96 |
GZIP_Compress_ISO_Language_Set_3_Locations |
41163570.58823643 ns/iter |
45346543.75001423 ns/iter |
0.91 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
10596776.56250102 ns/iter |
11487260.937499855 ns/iter |
0.92 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2279583.6120399917 ns/iter |
2501658.571428119 ns/iter |
0.91 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
678861.8303571629 ns/iter |
687043.3928570816 ns/iter |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com