Clarify our take on ECMA Annex B - #2781
Merged
Merged
Conversation
See: sourcemeta/jsonschema#842 Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: This PR clarifies the project's interpretation of ECMA-262 regex syntax for JSON Schema.
🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 326c24c | Previous: 4862283 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.4763516218143247 ns/iter |
2.5024740984144342 ns/iter |
0.99 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.462963504840688 ns/iter |
2.500436781178871 ns/iter |
0.99 |
Regex_Period_Asterisk |
2.4637676849236128 ns/iter |
2.4625955017124257 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
2.4626077310064765 ns/iter |
2.4670592454964164 ns/iter |
1.00 |
Regex_Period_Plus |
3.8675133599156566 ns/iter |
3.8748630214463597 ns/iter |
1.00 |
Regex_Period |
3.8663706733746768 ns/iter |
3.261839535408613 ns/iter |
1.19 |
Regex_Caret_Period_Plus_Dollar |
3.8716371483556666 ns/iter |
2.4745138848540544 ns/iter |
1.56 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.513518123862167 ns/iter |
2.46343176719862 ns/iter |
1.43 |
Regex_Caret_Period_Asterisk_Dollar |
3.5169862431708387 ns/iter |
2.8408180381216503 ns/iter |
1.24 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.5165121447971814 ns/iter |
2.4788306654223 ns/iter |
1.42 |
Regex_Caret_X_Hyphen |
5.607912929791205 ns/iter |
5.498896294771271 ns/iter |
1.02 |
Regex_Period_Md_Dollar |
26.262023504548 ns/iter |
28.063383965358998 ns/iter |
0.94 |
Regex_Caret_Slash_Period_Asterisk |
7.357869198803082 ns/iter |
6.329089284814941 ns/iter |
1.16 |
Regex_Caret_Period_Range_Dollar |
3.86754446394206 ns/iter |
3.86722207256968 ns/iter |
1.00 |
Regex_Nested_Backtrack |
38.79109736677667 ns/iter |
38.8050383667197 ns/iter |
1.00 |
JSON_Array_Of_Objects_Unique |
479.8217562764075 ns/iter |
477.9278431131751 ns/iter |
1.00 |
JSON_Parse_1 |
4390.648384140229 ns/iter |
4404.740452692054 ns/iter |
1.00 |
JSON_Parse_Real |
5126.225639781493 ns/iter |
5151.761927909548 ns/iter |
1.00 |
JSON_Parse_Decimal |
7475.6617700361185 ns/iter |
7345.563307086229 ns/iter |
1.02 |
JSON_Parse_Schema_ISO_Language |
3316974.3018868086 ns/iter |
3324752.696682688 ns/iter |
1.00 |
JSON_Parse_Integer |
3898.382758429457 ns/iter |
3907.058885148423 ns/iter |
1.00 |
JSON_Parse_String_NonSSO_Plain |
3162.423350558906 ns/iter |
3055.549530241409 ns/iter |
1.03 |
JSON_Parse_String_SSO_Plain |
2773.3087575470986 ns/iter |
2726.7110533229056 ns/iter |
1.02 |
JSON_Parse_String_Escape_Heavy |
11997.423136141222 ns/iter |
11969.32961756054 ns/iter |
1.00 |
JSON_Parse_Object_Short_Keys |
7711.239246129642 ns/iter |
7775.277903013745 ns/iter |
0.99 |
JSON_Parse_Object_Scalar_Properties |
3958.048932318733 ns/iter |
3973.295443396008 ns/iter |
1.00 |
JSON_Parse_Object_Array_Properties |
5333.08996297804 ns/iter |
5252.754226609739 ns/iter |
1.02 |
JSON_Parse_Object_Object_Properties |
5295.4022299105 ns/iter |
5279.881717335979 ns/iter |
1.00 |
JSON_Parse_Nested_Containers |
33750.92604252613 ns/iter |
34046.69758614013 ns/iter |
0.99 |
JSON_From_String_Copy |
11.425274783207419 ns/iter |
11.765820002113461 ns/iter |
0.97 |
JSON_From_String_Temporary |
10.048427475247939 ns/iter |
10.020493852886936 ns/iter |
1.00 |
JSON_Number_To_Double |
22.85965572876311 ns/iter |
22.85784489035053 ns/iter |
1.00 |
JSON_Object_At_Last_Key/8 |
4.028775468493467 ns/iter |
4.035723702215463 ns/iter |
1.00 |
JSON_Object_At_Last_Key/32 |
13.385038608227333 ns/iter |
13.277516174793723 ns/iter |
1.01 |
JSON_Object_At_Last_Key/128 |
46.84884329416516 ns/iter |
46.85267779555457 ns/iter |
1.00 |
JSON_Object_At_Last_Key/512 |
355.5860337444645 ns/iter |
356.456194787206 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
66.14876554807589 ns/iter |
66.11559148825683 ns/iter |
1.00 |
JSON_Equality_Helm_Chart_Lock |
174.57531909435846 ns/iter |
168.2908830046272 ns/iter |
1.04 |
JSON_Divisible_By_Decimal |
257.99683212503635 ns/iter |
259.6724059624489 ns/iter |
0.99 |
JSON_String_Equal/10 |
5.628135148480479 ns/iter |
6.3325716336453315 ns/iter |
0.89 |
JSON_String_Equal/100 |
6.40269255863714 ns/iter |
6.332128059971806 ns/iter |
1.01 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.0555880195364173 ns/iter |
1.0550496965155902 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
12.347609911050217 ns/iter |
12.336065850160798 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
2.1125539345372903 ns/iter |
2.110896296598273 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
2.1124724096393535 ns/iter |
2.1106414022726545 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
2.463245348480477 ns/iter |
2.462275071034284 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
8.091263203459357 ns/iter |
8.085696591576784 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
4.2874582609067025 ns/iter |
4.231882917824179 ns/iter |
1.01 |
JSON_Object_Defines_Miss_Too_Small |
3.2000542945964834 ns/iter |
3.192449184009361 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
2.956414995180548 ns/iter |
3.012488397521933 ns/iter |
0.98 |
Pointer_Object_Traverse |
30.8427398504261 ns/iter |
30.70800586901522 ns/iter |
1.00 |
Pointer_Object_Try_Traverse |
32.84148371416105 ns/iter |
32.70646510742586 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
187.19355296401253 ns/iter |
181.8039178074048 ns/iter |
1.03 |
Pointer_Walker_Schema_ISO_Language |
1552233.1571754469 ns/iter |
1528193.5412623475 ns/iter |
1.02 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1253227.3174602704 ns/iter |
1301794.8214936387 ns/iter |
0.96 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
2150474.2769231526 ns/iter |
1743011.9210527402 ns/iter |
1.23 |
Pointer_Position_Tracker_Get_Deeply_Nested |
705.1096315155261 ns/iter |
700.7827959976137 ns/iter |
1.01 |
JSONPath_Descendant_Filter_Nested |
1559.5976458601467 ns/iter |
1560.0995635882002 ns/iter |
1.00 |
URITemplateRouter_Create |
22308.64326684088 ns/iter |
22285.436533399537 ns/iter |
1.00 |
URITemplateRouter_Match |
188.57636589159662 ns/iter |
188.08250485614715 ns/iter |
1.00 |
URITemplateRouter_Match_BasePath |
223.35522009435013 ns/iter |
217.4863587186685 ns/iter |
1.03 |
URITemplateRouterView_Restore |
10046.61687339323 ns/iter |
9823.425342561035 ns/iter |
1.02 |
URITemplateRouterView_Match |
144.12356254687305 ns/iter |
145.7066169797196 ns/iter |
0.99 |
URITemplateRouterView_Match_BasePath |
164.27878410617197 ns/iter |
164.23861087503022 ns/iter |
1.00 |
URITemplateRouterView_Arguments |
450.19054878242656 ns/iter |
463.87332033950435 ns/iter |
0.97 |
JSONL_Parse_Large |
8669654.876543103 ns/iter |
8835652.962500263 ns/iter |
0.98 |
JSONL_Parse_Large_GZIP |
10346783.691176143 ns/iter |
10542481.848484853 ns/iter |
0.98 |
JSONLD_Catalog_Annotation_List_Populate |
603013.0289608275 ns/iter |
594400.359083186 ns/iter |
1.01 |
JSONLD_Catalog_Materialize |
3527887.9646466062 ns/iter |
3489809.5549999652 ns/iter |
1.01 |
HTML_Build_Table_100000 |
67913896.99999967 ns/iter |
65105562.700000525 ns/iter |
1.04 |
HTML_Render_Table_100000 |
2086208.73511901 ns/iter |
1966260.058171552 ns/iter |
1.06 |
GZIP_Compress_ISO_Language_Set_3_Locations |
35809042.0499991 ns/iter |
35799119.249998055 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4292551.251533711 ns/iter |
4279685.317073483 ns/iter |
1.00 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2137920.5487804837 ns/iter |
2134783.259938995 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
277902.8682232001 ns/iter |
276652.28830965544 ns/iter |
1.00 |
JOSE_VerifySignature_RS256 |
64030.976457607794 ns/iter |
63844.94955679372 ns/iter |
1.00 |
JOSE_VerifySignature_ES512 |
2760484.4878050615 ns/iter |
2673895.5267177937 ns/iter |
1.03 |
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: 326c24c | Previous: 4862283 | Ratio |
|---|---|---|---|
JOSE_VerifySignature_RS256 |
21995.113043478585 ns/iter |
22099.442229038923 ns/iter |
1.00 |
JOSE_VerifySignature_ES512 |
575285.403119883 ns/iter |
575460.1721581494 ns/iter |
1.00 |
GZIP_Compress_ISO_Language_Set_3_Locations |
36689422.368421055 ns/iter |
36618457.00000149 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4449307.987341712 ns/iter |
4236548.353658208 ns/iter |
1.05 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2072338.6064140198 ns/iter |
2041111.0555556389 ns/iter |
1.02 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
376595.69048899686 ns/iter |
376908.23557955696 ns/iter |
1.00 |
HTML_Build_Table_100000 |
56084593.54545464 ns/iter |
54449340.41666254 ns/iter |
1.03 |
HTML_Render_Table_100000 |
2037573.7125382037 ns/iter |
1921770.7134986604 ns/iter |
1.06 |
JSONLD_Catalog_Annotation_List_Populate |
689467.5421568652 ns/iter |
684012.9664363735 ns/iter |
1.01 |
JSONLD_Catalog_Materialize |
3516440.595959556 ns/iter |
3521006.718592936 ns/iter |
1.00 |
JSONL_Parse_Large |
9946379.402777772 ns/iter |
9810630.694444297 ns/iter |
1.01 |
JSONL_Parse_Large_GZIP |
11130406.031745967 ns/iter |
11198052.492063869 ns/iter |
0.99 |
URITemplateRouter_Create |
21585.436281767048 ns/iter |
21191.898256346787 ns/iter |
1.02 |
URITemplateRouter_Match |
153.96762758007668 ns/iter |
153.95619097263295 ns/iter |
1.00 |
URITemplateRouter_Match_BasePath |
182.34857577857542 ns/iter |
181.61781850850656 ns/iter |
1.00 |
URITemplateRouterView_Restore |
8690.62798936013 ns/iter |
8512.762728111356 ns/iter |
1.02 |
URITemplateRouterView_Match |
125.00530703233518 ns/iter |
122.3641703682527 ns/iter |
1.02 |
URITemplateRouterView_Match_BasePath |
144.40675413081297 ns/iter |
145.1653090362154 ns/iter |
0.99 |
URITemplateRouterView_Arguments |
479.8250933133898 ns/iter |
467.9211138798205 ns/iter |
1.03 |
JSONPath_Descendant_Filter_Nested |
1672.8534092720677 ns/iter |
1655.7332785957433 ns/iter |
1.01 |
Pointer_Object_Traverse |
24.430659819213997 ns/iter |
23.02209593548921 ns/iter |
1.06 |
Pointer_Object_Try_Traverse |
25.874669085668625 ns/iter |
25.87050575738292 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
129.74273735477217 ns/iter |
128.13060175330602 ns/iter |
1.01 |
Pointer_Walker_Schema_ISO_Language |
1448067.7867494684 ns/iter |
1419153.4717740652 ns/iter |
1.02 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1204739.5587733558 ns/iter |
1206189.2178387549 ns/iter |
1.00 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1691836.789855067 ns/iter |
1690020.1148327247 ns/iter |
1.00 |
Pointer_Position_Tracker_Get_Deeply_Nested |
590.2607309404343 ns/iter |
600.847159670732 ns/iter |
0.98 |
JSON_Array_Of_Objects_Unique |
463.1314801750304 ns/iter |
467.50450539777165 ns/iter |
0.99 |
JSON_Parse_1 |
5182.972213402252 ns/iter |
5311.343709399094 ns/iter |
0.98 |
JSON_Parse_Real |
5658.169196150497 ns/iter |
5678.090435079588 ns/iter |
1.00 |
JSON_Parse_Decimal |
10404.558275266261 ns/iter |
10234.352519348577 ns/iter |
1.02 |
JSON_Parse_Schema_ISO_Language |
3590404.242268297 ns/iter |
3593099.67525792 ns/iter |
1.00 |
JSON_Parse_Integer |
3770.7472810026993 ns/iter |
3729.4622620179125 ns/iter |
1.01 |
JSON_Parse_String_NonSSO_Plain |
3376.647443766754 ns/iter |
3260.9180021706156 ns/iter |
1.04 |
JSON_Parse_String_SSO_Plain |
3058.1697784661415 ns/iter |
3004.280172099552 ns/iter |
1.02 |
JSON_Parse_String_Escape_Heavy |
16768.953349225172 ns/iter |
16666.20990774151 ns/iter |
1.01 |
JSON_Parse_Object_Short_Keys |
8720.070323122965 ns/iter |
8400.917713010766 ns/iter |
1.04 |
JSON_Parse_Object_Scalar_Properties |
4448.617928322606 ns/iter |
4275.0202649893545 ns/iter |
1.04 |
JSON_Parse_Object_Array_Properties |
6511.534301982562 ns/iter |
6439.293455771055 ns/iter |
1.01 |
JSON_Parse_Object_Object_Properties |
6521.602180723145 ns/iter |
6474.341242426525 ns/iter |
1.01 |
JSON_Parse_Nested_Containers |
39000.528196937754 ns/iter |
38373.14916702703 ns/iter |
1.02 |
JSON_From_String_Copy |
8.345087689591182 ns/iter |
8.97468430054388 ns/iter |
0.93 |
JSON_From_String_Temporary |
7.283152858870094 ns/iter |
7.703573675578365 ns/iter |
0.95 |
JSON_Number_To_Double |
21.838924097991104 ns/iter |
21.801131543569937 ns/iter |
1.00 |
JSON_Object_At_Last_Key/8 |
5.640624411878516 ns/iter |
5.615640321174519 ns/iter |
1.00 |
JSON_Object_At_Last_Key/32 |
21.77183560486474 ns/iter |
21.64263307152843 ns/iter |
1.01 |
JSON_Object_At_Last_Key/128 |
88.2298799037012 ns/iter |
87.6150134738144 ns/iter |
1.01 |
JSON_Object_At_Last_Key/512 |
393.2551719873652 ns/iter |
392.1291248029575 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
87.60911873120476 ns/iter |
87.56475572203168 ns/iter |
1.00 |
JSON_Equality_Helm_Chart_Lock |
147.68449053190838 ns/iter |
145.38909980218403 ns/iter |
1.02 |
JSON_Divisible_By_Decimal |
260.18682624675534 ns/iter |
259.87011783300187 ns/iter |
1.00 |
JSON_String_Equal/10 |
5.410671247407226 ns/iter |
5.414547722688221 ns/iter |
1.00 |
JSON_String_Equal/100 |
6.038288834670858 ns/iter |
6.0390372572845035 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7498673167927802 ns/iter |
0.7492486484313565 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
25.195853737099473 ns/iter |
25.196256164086478 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
3.153753561217418 ns/iter |
3.152980262735901 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
3.153049803958244 ns/iter |
3.1579300481798374 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
1.2471180603757057 ns/iter |
1.24694636451164 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
12.448048197190605 ns/iter |
12.455847495604337 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.1153624328995293 ns/iter |
3.113684479686079 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.4711540152434885 ns/iter |
3.4263443799816358 ns/iter |
1.01 |
JSON_Object_Defines_Miss_Too_Large |
3.1167449829458675 ns/iter |
3.113854829966351 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
0.6233500090109437 ns/iter |
0.6227159047036209 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
0.6226910084536943 ns/iter |
0.6229581370673304 ns/iter |
1.00 |
Regex_Period_Asterisk |
0.622743820838279 ns/iter |
0.6228512758149513 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
0.6234377524123301 ns/iter |
0.6249869198180169 ns/iter |
1.00 |
Regex_Period_Plus |
0.6274661649023126 ns/iter |
0.6232955892797827 ns/iter |
1.01 |
Regex_Period |
0.6232358119833962 ns/iter |
0.6226251640162995 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
0.6227171228365049 ns/iter |
0.6264370608250828 ns/iter |
0.99 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
0.6232160182303975 ns/iter |
0.6233321220456005 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
0.6229229186053723 ns/iter |
0.6229643272987134 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
0.6225312030132781 ns/iter |
0.638360068842934 ns/iter |
0.98 |
Regex_Caret_X_Hyphen |
4.053859230121848 ns/iter |
4.0601598605848235 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
31.300083805260552 ns/iter |
28.285482594737097 ns/iter |
1.11 |
Regex_Caret_Slash_Period_Asterisk |
4.36213273906319 ns/iter |
4.36444748787389 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
1.2467081834968257 ns/iter |
1.2462099888235312 ns/iter |
1.00 |
Regex_Nested_Backtrack |
38.74526464561732 ns/iter |
37.45932659600389 ns/iter |
1.03 |
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: 326c24c | Previous: 4862283 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
5.278132142856455 ns/iter |
4.962778805720158 ns/iter |
1.06 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
5.304357142856629 ns/iter |
4.981525999999121 ns/iter |
1.06 |
Regex_Period_Asterisk |
5.590633035714023 ns/iter |
4.958257000000685 ns/iter |
1.13 |
Regex_Group_Period_Asterisk_Group |
5.347739000000047 ns/iter |
4.964924999999312 ns/iter |
1.08 |
Regex_Period_Plus |
4.7197250000000475 ns/iter |
4.6065267959959035 ns/iter |
1.02 |
Regex_Period |
4.93037500000014 ns/iter |
4.659093090756834 ns/iter |
1.06 |
Regex_Caret_Period_Plus_Dollar |
4.626571885327369 ns/iter |
4.61612612637498 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
4.6133169745828555 ns/iter |
5.067390413095813 ns/iter |
0.91 |
Regex_Caret_Period_Asterisk_Dollar |
4.998277000000826 ns/iter |
5.3396705357146494 ns/iter |
0.94 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
5.026637999999366 ns/iter |
5.037658000001102 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
7.821735491070823 ns/iter |
7.964158482143903 ns/iter |
0.98 |
Regex_Period_Md_Dollar |
59.41406250000472 ns/iter |
54.74466964285186 ns/iter |
1.09 |
Regex_Caret_Slash_Period_Asterisk |
7.455814732143042 ns/iter |
7.546956250000188 ns/iter |
0.99 |
Regex_Caret_Period_Range_Dollar |
5.329031999999643 ns/iter |
5.44316199999912 ns/iter |
0.98 |
Regex_Nested_Backtrack |
83.44026785714728 ns/iter |
83.36419642857504 ns/iter |
1.00 |
JSON_Array_Of_Objects_Unique |
673.3943080356701 ns/iter |
808.9848214284855 ns/iter |
0.83 |
JSON_Parse_1 |
9320.406605326829 ns/iter |
9228.263392857221 ns/iter |
1.01 |
JSON_Parse_Real |
17961.51938517454 ns/iter |
17878.252756153895 ns/iter |
1.00 |
JSON_Parse_Decimal |
11243.876562499367 ns/iter |
11369.851562502476 ns/iter |
0.99 |
JSON_Parse_Schema_ISO_Language |
7939108.8888883125 ns/iter |
8689101.333332777 ns/iter |
0.91 |
JSON_Parse_Integer |
6002.564285713521 ns/iter |
5919.228571428903 ns/iter |
1.01 |
JSON_Parse_String_NonSSO_Plain |
8192.581729546646 ns/iter |
8027.844964977668 ns/iter |
1.02 |
JSON_Parse_String_SSO_Plain |
3907.182308603491 ns/iter |
3752.086871274249 ns/iter |
1.04 |
JSON_Parse_String_Escape_Heavy |
22356.987500000258 ns/iter |
21958.690624998668 ns/iter |
1.02 |
JSON_Parse_Object_Short_Keys |
13044.162499998687 ns/iter |
12859.348214285708 ns/iter |
1.01 |
JSON_Parse_Object_Scalar_Properties |
6712.503999999626 ns/iter |
6581.706250001064 ns/iter |
1.02 |
JSON_Parse_Object_Array_Properties |
11541.312500000346 ns/iter |
11479.132812500127 ns/iter |
1.01 |
JSON_Parse_Object_Object_Properties |
13012.45892857139 ns/iter |
11806.45624999954 ns/iter |
1.10 |
JSON_Parse_Nested_Containers |
85909.17410714128 ns/iter |
83288.57640282536 ns/iter |
1.03 |
JSON_From_String_Copy |
63.29509821428912 ns/iter |
63.38810714284802 ns/iter |
1.00 |
JSON_From_String_Temporary |
81.7980691964339 ns/iter |
86.18311222395813 ns/iter |
0.95 |
JSON_Number_To_Double |
162.12305972665058 ns/iter |
145.1945225359578 ns/iter |
1.12 |
JSON_Object_At_Last_Key/8 |
7.758225446429075 ns/iter |
7.2648247767860745 ns/iter |
1.07 |
JSON_Object_At_Last_Key/32 |
32.38771338652364 ns/iter |
25.332957142861037 ns/iter |
1.28 |
JSON_Object_At_Last_Key/128 |
104.19632142856017 ns/iter |
106.99721843762339 ns/iter |
0.97 |
JSON_Object_At_Last_Key/512 |
430.73456249999253 ns/iter |
432.91192032110723 ns/iter |
0.99 |
JSON_Fast_Hash_Helm_Chart_Lock |
116.55818750000437 ns/iter |
146.4202903383719 ns/iter |
0.80 |
JSON_Equality_Helm_Chart_Lock |
205.3511827968098 ns/iter |
206.28509346941385 ns/iter |
1.00 |
JSON_Divisible_By_Decimal |
357.49368783455606 ns/iter |
331.30008928574335 ns/iter |
1.08 |
JSON_String_Equal/10 |
9.930578527094932 ns/iter |
9.92884683067679 ns/iter |
1.00 |
JSON_String_Equal/100 |
11.353796428571577 ns/iter |
11.350607812499192 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
2.164081560084536 ns/iter |
2.153724216345821 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.010995026736028 ns/iter |
18.245654627194114 ns/iter |
0.77 |
JSON_String_Fast_Hash/10 |
6.416319642857461 ns/iter |
6.538783035714298 ns/iter |
0.98 |
JSON_String_Fast_Hash/100 |
6.468807142857105 ns/iter |
6.387115178571078 ns/iter |
1.01 |
JSON_String_Key_Hash/10 |
5.04403600000046 ns/iter |
4.961329000000205 ns/iter |
1.02 |
JSON_String_Key_Hash/100 |
11.242550000000406 ns/iter |
10.979779687499303 ns/iter |
1.02 |
JSON_Object_Defines_Miss_Same_Length |
4.892755999999281 ns/iter |
4.6501901889520285 ns/iter |
1.05 |
JSON_Object_Defines_Miss_Too_Small |
4.623302634960171 ns/iter |
4.606804028140051 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
4.635042197846435 ns/iter |
4.615815412773356 ns/iter |
1.00 |
Pointer_Object_Traverse |
68.01634821428593 ns/iter |
66.23280357142595 ns/iter |
1.03 |
Pointer_Object_Try_Traverse |
67.79188392856993 ns/iter |
67.80527678569926 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
164.72772321429423 ns/iter |
178.0611587554659 ns/iter |
0.93 |
Pointer_Walker_Schema_ISO_Language |
11844444.642857103 ns/iter |
12148617.857142035 ns/iter |
0.97 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2416571.485943758 ns/iter |
2472146.586344945 ns/iter |
0.98 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3631947.5935830693 ns/iter |
3655637.4331550305 ns/iter |
0.99 |
Pointer_Position_Tracker_Get_Deeply_Nested |
575.6484308031087 ns/iter |
549.3160648894511 ns/iter |
1.05 |
JSONPath_Descendant_Filter_Nested |
2511.0671751482046 ns/iter |
2512.1621428565636 ns/iter |
1.00 |
URITemplateRouter_Create |
38851.729910716065 ns/iter |
39661.88058035819 ns/iter |
0.98 |
URITemplateRouter_Match |
217.42912499998823 ns/iter |
214.985906250007 ns/iter |
1.01 |
URITemplateRouter_Match_BasePath |
247.24505121629178 ns/iter |
245.79932142858394 ns/iter |
1.01 |
URITemplateRouterView_Restore |
25772.85357142906 ns/iter |
25908.30645467495 ns/iter |
0.99 |
URITemplateRouterView_Match |
174.8695652814595 ns/iter |
173.1238553431389 ns/iter |
1.01 |
URITemplateRouterView_Match_BasePath |
201.15122539503975 ns/iter |
207.74065813655312 ns/iter |
0.97 |
URITemplateRouterView_Arguments |
597.6662499999666 ns/iter |
647.6636607142642 ns/iter |
0.92 |
JSONL_Parse_Large |
34146418.181819625 ns/iter |
34297279.999998406 ns/iter |
1.00 |
JSONL_Parse_Large_GZIP |
34237404.99999894 ns/iter |
34433615.00000037 ns/iter |
0.99 |
JSONLD_Catalog_Annotation_List_Populate |
3252215.49295739 ns/iter |
3371050.2347416817 ns/iter |
0.96 |
JSONLD_Catalog_Materialize |
10094151.99999997 ns/iter |
11485968.749997966 ns/iter |
0.88 |
HTML_Build_Table_100000 |
94452342.85715286 ns/iter |
94907371.4285922 ns/iter |
1.00 |
HTML_Render_Table_100000 |
8043267.777777095 ns/iter |
8227935.555555632 ns/iter |
0.98 |
GZIP_Compress_ISO_Language_Set_3_Locations |
38536873.68421345 ns/iter |
39965883.33334077 ns/iter |
0.96 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
10573885.937500194 ns/iter |
10648642.187497614 ns/iter |
0.99 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2352724.7491636346 ns/iter |
2345826.421404668 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
587888.392857191 ns/iter |
578535.9821428773 ns/iter |
1.02 |
JOSE_VerifySignature_RS256 |
23878.984374999134 ns/iter |
23856.359862053978 ns/iter |
1.00 |
JOSE_VerifySignature_ES512 |
1555684.375000104 ns/iter |
1527552.455357295 ns/iter |
1.02 |
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: 326c24c | Previous: 4862283 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.1320077690062864 ns/iter |
2.2952480797754307 ns/iter |
0.93 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.0960191366183145 ns/iter |
2.302107904019212 ns/iter |
0.91 |
Regex_Period_Asterisk |
1.891629326731352 ns/iter |
2.398235211960338 ns/iter |
0.79 |
Regex_Group_Period_Asterisk_Group |
1.9662285337931116 ns/iter |
2.6265655184053283 ns/iter |
0.75 |
Regex_Period_Plus |
2.1880205219849973 ns/iter |
2.794648138869703 ns/iter |
0.78 |
Regex_Period |
2.1854746242835734 ns/iter |
2.6794485396327743 ns/iter |
0.82 |
Regex_Caret_Period_Plus_Dollar |
2.1827679646661053 ns/iter |
2.7262272654214548 ns/iter |
0.80 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.284734601225098 ns/iter |
2.7655353474191435 ns/iter |
0.83 |
Regex_Caret_Period_Asterisk_Dollar |
1.8604158320334423 ns/iter |
2.3690274031084533 ns/iter |
0.79 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.817850983240773 ns/iter |
2.2553667359975567 ns/iter |
0.81 |
Regex_Caret_X_Hyphen |
6.515973213615008 ns/iter |
8.011588286192577 ns/iter |
0.81 |
Regex_Period_Md_Dollar |
18.93546187995505 ns/iter |
29.228995534946993 ns/iter |
0.65 |
Regex_Caret_Slash_Period_Asterisk |
5.7402207289150775 ns/iter |
6.22932917000071 ns/iter |
0.92 |
Regex_Caret_Period_Range_Dollar |
2.254637049930157 ns/iter |
3.366320853950749 ns/iter |
0.67 |
Regex_Nested_Backtrack |
29.185271267316725 ns/iter |
43.92164395172207 ns/iter |
0.66 |
JSON_Array_Of_Objects_Unique |
389.0965165799564 ns/iter |
524.1929319075219 ns/iter |
0.74 |
JSON_Parse_1 |
3464.0617694106186 ns/iter |
5199.5794787175 ns/iter |
0.67 |
JSON_Parse_Real |
5260.7258400007595 ns/iter |
9082.670172212736 ns/iter |
0.58 |
JSON_Parse_Decimal |
5991.428090137701 ns/iter |
8397.965477853792 ns/iter |
0.71 |
JSON_Parse_Schema_ISO_Language |
2359232.7302626055 ns/iter |
3911085.9004741837 ns/iter |
0.60 |
JSON_Parse_Integer |
3101.6698907749583 ns/iter |
5195.797651317551 ns/iter |
0.60 |
JSON_Parse_String_NonSSO_Plain |
3461.9229344779774 ns/iter |
5352.535790458488 ns/iter |
0.65 |
JSON_Parse_String_SSO_Plain |
2173.613747786991 ns/iter |
3021.5753970853966 ns/iter |
0.72 |
JSON_Parse_String_Escape_Heavy |
26480.4557551574 ns/iter |
28456.411010181982 ns/iter |
0.93 |
JSON_Parse_Object_Short_Keys |
7201.700731309062 ns/iter |
10154.369261308932 ns/iter |
0.71 |
JSON_Parse_Object_Scalar_Properties |
3794.4206516396775 ns/iter |
5049.967717913609 ns/iter |
0.75 |
JSON_Parse_Object_Array_Properties |
4544.054413594946 ns/iter |
6237.153261050917 ns/iter |
0.73 |
JSON_Parse_Object_Object_Properties |
4600.334534323494 ns/iter |
5479.429170000004 ns/iter |
0.84 |
JSON_Parse_Nested_Containers |
28731.13682076496 ns/iter |
41674.78679721863 ns/iter |
0.69 |
JSON_From_String_Copy |
11.17963524701285 ns/iter |
16.173432497528964 ns/iter |
0.69 |
JSON_From_String_Temporary |
6.248238126067622 ns/iter |
9.394310415454727 ns/iter |
0.67 |
JSON_Number_To_Double |
36.839026051339474 ns/iter |
55.3688772490431 ns/iter |
0.67 |
JSON_Object_At_Last_Key/8 |
4.397304098361461 ns/iter |
5.29575192607324 ns/iter |
0.83 |
JSON_Object_At_Last_Key/32 |
13.3368407093843 ns/iter |
16.409085835609158 ns/iter |
0.81 |
JSON_Object_At_Last_Key/128 |
61.116383318790966 ns/iter |
68.58244661416359 ns/iter |
0.89 |
JSON_Object_At_Last_Key/512 |
222.78049234661447 ns/iter |
235.62441611588272 ns/iter |
0.95 |
JSON_Fast_Hash_Helm_Chart_Lock |
61.70351106203455 ns/iter |
73.5466193903888 ns/iter |
0.84 |
JSON_Equality_Helm_Chart_Lock |
170.22033431371273 ns/iter |
238.38170766613416 ns/iter |
0.71 |
JSON_Divisible_By_Decimal |
182.30230513082307 ns/iter |
277.34256283319047 ns/iter |
0.66 |
JSON_String_Equal/10 |
7.008437006662659 ns/iter |
8.821893341806842 ns/iter |
0.79 |
JSON_String_Equal/100 |
6.472961595647932 ns/iter |
9.581407678627686 ns/iter |
0.68 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.3401673483471668 ns/iter |
0.4550075444038583 ns/iter |
0.75 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.3574188549306476 ns/iter |
5.557027326053669 ns/iter |
0.60 |
JSON_String_Fast_Hash/10 |
2.5778943054506476 ns/iter |
4.771532543471928 ns/iter |
0.54 |
JSON_String_Fast_Hash/100 |
2.038066187859046 ns/iter |
4.1762499022807065 ns/iter |
0.49 |
JSON_String_Key_Hash/10 |
1.7095401046742564 ns/iter |
2.980662021901412 ns/iter |
0.57 |
JSON_String_Key_Hash/100 |
2.227195586082619 ns/iter |
2.9909062857761137 ns/iter |
0.74 |
JSON_Object_Defines_Miss_Same_Length |
2.7824767438510505 ns/iter |
3.6879249612105958 ns/iter |
0.75 |
JSON_Object_Defines_Miss_Too_Small |
2.8389790012288496 ns/iter |
3.4186815261290224 ns/iter |
0.83 |
JSON_Object_Defines_Miss_Too_Large |
2.9026801247076977 ns/iter |
3.954482436308789 ns/iter |
0.73 |
Pointer_Object_Traverse |
24.84233635976853 ns/iter |
28.38941366918518 ns/iter |
0.88 |
Pointer_Object_Try_Traverse |
34.25359989372648 ns/iter |
58.040111103418134 ns/iter |
0.59 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
143.1156145968124 ns/iter |
212.32458911502565 ns/iter |
0.67 |
Pointer_Walker_Schema_ISO_Language |
1307021.210145056 ns/iter |
2102138.443262499 ns/iter |
0.62 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
888445.5492424229 ns/iter |
1259877.6818180114 ns/iter |
0.71 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1082771.9361372702 ns/iter |
1449633.1900645248 ns/iter |
0.75 |
Pointer_Position_Tracker_Get_Deeply_Nested |
351.0991131073943 ns/iter |
507.0978300767006 ns/iter |
0.69 |
JSONPath_Descendant_Filter_Nested |
1293.7946161829448 ns/iter |
1890.2405368975053 ns/iter |
0.68 |
URITemplateRouter_Create |
20773.57927763178 ns/iter |
24071.341293653702 ns/iter |
0.86 |
URITemplateRouter_Match |
165.92947280855347 ns/iter |
249.15003184594514 ns/iter |
0.67 |
URITemplateRouter_Match_BasePath |
214.58009409974238 ns/iter |
278.0979562651407 ns/iter |
0.77 |
URITemplateRouterView_Restore |
12377.319993696288 ns/iter |
22695.00166880898 ns/iter |
0.55 |
URITemplateRouterView_Match |
139.12768012199956 ns/iter |
214.2724107344446 ns/iter |
0.65 |
URITemplateRouterView_Match_BasePath |
165.76200592321416 ns/iter |
247.32123904847091 ns/iter |
0.67 |
URITemplateRouterView_Arguments |
545.4754913880134 ns/iter |
722.3893595215224 ns/iter |
0.76 |
JSONL_Parse_Large |
5987584.401709761 ns/iter |
8965504.999999516 ns/iter |
0.67 |
JSONL_Parse_Large_GZIP |
6917886.960394807 ns/iter |
11706161.277781272 ns/iter |
0.59 |
JSONLD_Catalog_Annotation_List_Populate |
485113.5081522312 ns/iter |
1012546.230859849 ns/iter |
0.48 |
JSONLD_Catalog_Materialize |
2316830.348909462 ns/iter |
3114662.195121571 ns/iter |
0.74 |
HTML_Build_Table_100000 |
39334976.83332613 ns/iter |
58476816.69999929 ns/iter |
0.67 |
HTML_Render_Table_100000 |
1831694.3358974105 ns/iter |
3266874.301254887 ns/iter |
0.56 |
GZIP_Compress_ISO_Language_Set_3_Locations |
28923631.916664287 ns/iter |
42672403.84615434 ns/iter |
0.68 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
3971274.0384617303 ns/iter |
5864968.309860045 ns/iter |
0.68 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1755825.9751245913 ns/iter |
2640949.2187502435 ns/iter |
0.66 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
317407.79582927004 ns/iter |
376826.9808641957 ns/iter |
0.84 |
JOSE_VerifySignature_RS256 |
24585.678181573254 ns/iter |
40523.90228376327 ns/iter |
0.61 |
JOSE_VerifySignature_ES512 |
1062850.0235638304 ns/iter |
1707489.5421456993 ns/iter |
0.62 |
This comment was automatically generated by workflow using github-action-benchmark.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See: sourcemeta/jsonschema#842
Signed-off-by: Juan Cruz Viotti jv@jviotti.com