Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: This PR adds RSA-OAEP encryption/decryption support to Sourcemeta Core’s crypto module across all supported backends. Changes:
Technical Notes: The reference backend follows RFC 8017 OAEP using shared bignum/math primitives; platform backends delegate to native OAEP implementations. 🤖 Was this summary useful? React with 👍 or 👎 |
| auto wrapped{ | ||
| sourcemeta::core::rsa_oaep_encrypt( | ||
| public_key.value(), sourcemeta::core::RSAOAEPHash::SHA256, "hello") | ||
| .value()}; |
There was a problem hiding this comment.
rsa_oaep_encrypt(...).value() can throw std::bad_optional_access and will be reported as an unexpected exception (with poorer diagnostics) if encryption ever returns std::nullopt (e.g., backend/RNG failure). Consider asserting has_value() before dereferencing optionals in these tests so failures surface through the test framework with a clear message.
Severity: low
Other Locations
test/crypto/crypto_rsa_oaep_test.cc:77test/crypto/crypto_rsa_oaep_test.cc:79test/crypto/crypto_rsa_oaep_test.cc:87test/crypto/crypto_rsa_oaep_test.cc:89test/crypto/crypto_rsa_oaep_test.cc:91test/crypto/crypto_rsa_oaep_test.cc:100test/crypto/crypto_rsa_oaep_test.cc:103test/crypto/crypto_rsa_oaep_test.cc:120test/crypto/crypto_rsa_oaep_test.cc:127test/crypto/crypto_rsa_oaep_test.cc:132
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
Benchmark (macos/llvm)
Details
| Benchmark suite | Current: 8aaa245 | Previous: b4011c4 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
3.016908952386428 ns/iter |
2.52226800665769 ns/iter |
1.20 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.7390010127101374 ns/iter |
2.288731666676357 ns/iter |
1.20 |
Regex_Period_Asterisk |
2.612137650824425 ns/iter |
2.4780279646076435 ns/iter |
1.05 |
Regex_Group_Period_Asterisk_Group |
2.5892447562962273 ns/iter |
2.131090499660333 ns/iter |
1.21 |
Regex_Period_Plus |
3.0308260183143148 ns/iter |
2.6654569035008655 ns/iter |
1.14 |
Regex_Period |
3.0594902620027313 ns/iter |
2.634831958976986 ns/iter |
1.16 |
Regex_Caret_Period_Plus_Dollar |
2.8005588005647923 ns/iter |
2.746692888025442 ns/iter |
1.02 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.0177579368483354 ns/iter |
2.33997898620369 ns/iter |
1.29 |
Regex_Caret_Period_Asterisk_Dollar |
2.700930599328234 ns/iter |
2.137265969785069 ns/iter |
1.26 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.057039146011489 ns/iter |
2.237932751283028 ns/iter |
0.92 |
Regex_Caret_X_Hyphen |
6.4774331883878125 ns/iter |
7.2853719764093015 ns/iter |
0.89 |
Regex_Period_Md_Dollar |
17.389246267203745 ns/iter |
20.109027540478035 ns/iter |
0.86 |
Regex_Caret_Slash_Period_Asterisk |
5.009390450326174 ns/iter |
6.21224396561413 ns/iter |
0.81 |
Regex_Caret_Period_Range_Dollar |
2.1971518093005202 ns/iter |
2.4723254583219934 ns/iter |
0.89 |
Regex_Nested_Backtrack |
30.17584405663757 ns/iter |
31.46491203389044 ns/iter |
0.96 |
JSON_Array_Of_Objects_Unique |
429.38494255535073 ns/iter |
442.5416733946536 ns/iter |
0.97 |
JSON_Parse_1 |
7874.914427653812 ns/iter |
8742.915920268308 ns/iter |
0.90 |
JSON_Parse_Real |
7860.006622371283 ns/iter |
8253.610118366852 ns/iter |
0.95 |
JSON_Parse_Decimal |
10799.665514849834 ns/iter |
8141.153772717605 ns/iter |
1.33 |
JSON_Parse_Schema_ISO_Language |
5250935.014925996 ns/iter |
4262215.075144045 ns/iter |
1.23 |
JSON_Parse_Integer |
6273.338339631782 ns/iter |
5289.867611668273 ns/iter |
1.19 |
JSON_Parse_String_NonSSO_Plain |
8705.913579615051 ns/iter |
7492.442602776568 ns/iter |
1.16 |
JSON_Parse_String_SSO_Plain |
3757.167539865587 ns/iter |
2948.4502442183843 ns/iter |
1.27 |
JSON_Parse_String_Escape_Heavy |
22195.089112722962 ns/iter |
22512.860733089296 ns/iter |
0.99 |
JSON_Parse_Object_Short_Keys |
9408.279100497004 ns/iter |
8480.19723605538 ns/iter |
1.11 |
JSON_Parse_Object_Scalar_Properties |
5225.426996593372 ns/iter |
5509.260859958287 ns/iter |
0.95 |
JSON_Parse_Object_Array_Properties |
9426.471754359989 ns/iter |
9290.47829811175 ns/iter |
1.01 |
JSON_Parse_Object_Object_Properties |
8581.384216417378 ns/iter |
7967.036741871366 ns/iter |
1.08 |
JSON_Parse_Nested_Containers |
81489.58615960456 ns/iter |
68172.44250775433 ns/iter |
1.20 |
JSON_From_String_Copy |
37.90441175974717 ns/iter |
27.553035960064793 ns/iter |
1.38 |
JSON_From_String_Temporary |
25.62926187509303 ns/iter |
20.155403969796904 ns/iter |
1.27 |
JSON_Number_To_Double |
46.08006399420462 ns/iter |
36.69947216748676 ns/iter |
1.26 |
JSON_Object_At_Last_Key/8 |
5.516608362850407 ns/iter |
4.3480170605381625 ns/iter |
1.27 |
JSON_Object_At_Last_Key/32 |
17.589522067467694 ns/iter |
13.327789863028633 ns/iter |
1.32 |
JSON_Object_At_Last_Key/128 |
65.47416402082844 ns/iter |
58.55580509696746 ns/iter |
1.12 |
JSON_Object_At_Last_Key/512 |
236.48576461587234 ns/iter |
209.30046413193736 ns/iter |
1.13 |
JSON_Fast_Hash_Helm_Chart_Lock |
70.77652358382198 ns/iter |
69.65729242128093 ns/iter |
1.02 |
JSON_Equality_Helm_Chart_Lock |
197.88960436373182 ns/iter |
165.40890126623802 ns/iter |
1.20 |
JSON_Divisible_By_Decimal |
230.09078241537762 ns/iter |
188.93772656713523 ns/iter |
1.22 |
JSON_String_Equal/10 |
10.084509700419583 ns/iter |
7.736947522401706 ns/iter |
1.30 |
JSON_String_Equal/100 |
9.218455671711729 ns/iter |
7.472983102599139 ns/iter |
1.23 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.4551348351424036 ns/iter |
0.3652078621037956 ns/iter |
1.25 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
4.802262314900665 ns/iter |
3.607866908970728 ns/iter |
1.33 |
JSON_String_Fast_Hash/10 |
2.8019396758526773 ns/iter |
2.492053860817121 ns/iter |
1.12 |
JSON_String_Fast_Hash/100 |
2.6334269698877875 ns/iter |
2.154853197238106 ns/iter |
1.22 |
JSON_String_Key_Hash/10 |
2.2073956067520895 ns/iter |
1.9590112543338483 ns/iter |
1.13 |
JSON_String_Key_Hash/100 |
3.185812448408235 ns/iter |
2.2775996607623457 ns/iter |
1.40 |
JSON_Object_Defines_Miss_Same_Length |
3.437413802903844 ns/iter |
2.8775818530515376 ns/iter |
1.19 |
JSON_Object_Defines_Miss_Too_Small |
3.102475021481907 ns/iter |
2.865039154922471 ns/iter |
1.08 |
JSON_Object_Defines_Miss_Too_Large |
3.222257723259046 ns/iter |
2.728258640887632 ns/iter |
1.18 |
Pointer_Object_Traverse |
27.567315481443813 ns/iter |
24.86727492514091 ns/iter |
1.11 |
Pointer_Object_Try_Traverse |
31.503019174573783 ns/iter |
26.704857653327778 ns/iter |
1.18 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
209.77533815361238 ns/iter |
191.25793004148088 ns/iter |
1.10 |
Pointer_Walker_Schema_ISO_Language |
3790000.206029974 ns/iter |
3182922.8868779424 ns/iter |
1.19 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1526867.5680750085 ns/iter |
1511452.7837836144 ns/iter |
1.01 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1252601.933216005 ns/iter |
1294640.5708418856 ns/iter |
0.97 |
Pointer_Position_Tracker_Get_Deeply_Nested |
428.45738351256034 ns/iter |
405.5789329221883 ns/iter |
1.06 |
JSONPath_Descendant_Filter_Nested |
1793.8476277413781 ns/iter |
1448.6604723714934 ns/iter |
1.24 |
URITemplateRouter_Create |
34962.44164876789 ns/iter |
29942.353997021724 ns/iter |
1.17 |
URITemplateRouter_Match |
217.65290631942054 ns/iter |
228.41996929042 ns/iter |
0.95 |
URITemplateRouter_Match_BasePath |
293.57729625521296 ns/iter |
269.40198011082015 ns/iter |
1.09 |
URITemplateRouterView_Restore |
16187.321672049424 ns/iter |
14569.057397397204 ns/iter |
1.11 |
URITemplateRouterView_Match |
200.06824952322762 ns/iter |
185.86982158269515 ns/iter |
1.08 |
URITemplateRouterView_Match_BasePath |
236.07310231765152 ns/iter |
202.8837393501145 ns/iter |
1.16 |
URITemplateRouterView_Arguments |
782.5697402566334 ns/iter |
667.1185554150561 ns/iter |
1.17 |
JSONL_Parse_Large |
17423288.60975648 ns/iter |
19164485.500000507 ns/iter |
0.91 |
JSONL_Parse_Large_GZIP |
16934743.74999937 ns/iter |
17239067.22727458 ns/iter |
0.98 |
JSONLD_Catalog_Annotation_List_Populate |
1115575.5703421528 ns/iter |
1278630.5509869286 ns/iter |
0.87 |
JSONLD_Catalog_Materialize |
5298109.570370529 ns/iter |
6181876.762711408 ns/iter |
0.86 |
HTML_Build_Table_100000 |
39465571.42857695 ns/iter |
47259308.33333981 ns/iter |
0.84 |
HTML_Render_Table_100000 |
1642047.4408061034 ns/iter |
2354803.0405405564 ns/iter |
0.70 |
GZIP_Compress_ISO_Language_Set_3_Locations |
31036935.590908468 ns/iter |
28746502.10000027 ns/iter |
1.08 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
3908226.7964072158 ns/iter |
3319898.809523974 ns/iter |
1.18 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1785482.0945945608 ns/iter |
1524720.0195650966 ns/iter |
1.17 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
302302.2854678901 ns/iter |
270117.782678442 ns/iter |
1.12 |
JOSE_VerifySignature_RS256 |
25311.99093924993 ns/iter |
22232.47106875482 ns/iter |
1.14 |
JOSE_VerifySignature_ES512 |
1258220.776493166 ns/iter |
1118160.9223455784 ns/iter |
1.13 |
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: 8aaa245 | Previous: b4011c4 | Ratio |
|---|---|---|---|
JOSE_VerifySignature_RS256 |
22315.837379959627 ns/iter |
24599.77595435895 ns/iter |
0.91 |
JOSE_VerifySignature_ES512 |
575631.1652960433 ns/iter |
641742.2708907053 ns/iter |
0.90 |
GZIP_Compress_ISO_Language_Set_3_Locations |
36489219.052627 ns/iter |
39356253.166665226 ns/iter |
0.93 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4387030.777070466 ns/iter |
4048853.2543348405 ns/iter |
1.08 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2026988.129682912 ns/iter |
2296199.8655736367 ns/iter |
0.88 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
381200.0594328954 ns/iter |
331879.6217212884 ns/iter |
1.15 |
HTML_Build_Table_100000 |
65042846.90908497 ns/iter |
72939552.00000255 ns/iter |
0.89 |
HTML_Render_Table_100000 |
1991201.0431036686 ns/iter |
1936178.5518208498 ns/iter |
1.03 |
JSONLD_Catalog_Annotation_List_Populate |
1318047.5159474956 ns/iter |
1311972.8787315313 ns/iter |
1.00 |
JSONLD_Catalog_Materialize |
6876951.558823232 ns/iter |
6854596.048543782 ns/iter |
1.00 |
JSONL_Parse_Large |
13887416.607843203 ns/iter |
12738872.618181383 ns/iter |
1.09 |
JSONL_Parse_Large_GZIP |
15173019.826086741 ns/iter |
14159242.08163233 ns/iter |
1.07 |
URITemplateRouter_Create |
31172.725245118298 ns/iter |
30280.0936120475 ns/iter |
1.03 |
URITemplateRouter_Match |
167.08470137543682 ns/iter |
158.2805658935654 ns/iter |
1.06 |
URITemplateRouter_Match_BasePath |
188.31051262895878 ns/iter |
190.61266583323936 ns/iter |
0.99 |
URITemplateRouterView_Restore |
8686.008302339194 ns/iter |
9899.822337292444 ns/iter |
0.88 |
URITemplateRouterView_Match |
125.25213974317894 ns/iter |
124.51223163777792 ns/iter |
1.01 |
URITemplateRouterView_Match_BasePath |
144.44918782280746 ns/iter |
142.71508014232967 ns/iter |
1.01 |
URITemplateRouterView_Arguments |
471.00141470416924 ns/iter |
583.9662480000243 ns/iter |
0.81 |
JSONPath_Descendant_Filter_Nested |
1785.4097111357157 ns/iter |
1779.3634630474107 ns/iter |
1.00 |
Pointer_Object_Traverse |
32.72356572546981 ns/iter |
32.281134911830016 ns/iter |
1.01 |
Pointer_Object_Try_Traverse |
25.793650977270232 ns/iter |
26.047363783605203 ns/iter |
0.99 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
154.20202749332324 ns/iter |
154.78431757269766 ns/iter |
1.00 |
Pointer_Walker_Schema_ISO_Language |
3014248.0995853934 ns/iter |
2859610.0717301667 ns/iter |
1.05 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1905426.8149169884 ns/iter |
1887384.799457744 ns/iter |
1.01 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1732640.6403942108 ns/iter |
1630710.27441854 ns/iter |
1.06 |
Pointer_Position_Tracker_Get_Deeply_Nested |
413.888683279844 ns/iter |
427.7083475119603 ns/iter |
0.97 |
JSON_Array_Of_Objects_Unique |
424.30149209031373 ns/iter |
405.60517406076485 ns/iter |
1.05 |
JSON_Parse_1 |
9987.834895551201 ns/iter |
9761.01122058793 ns/iter |
1.02 |
JSON_Parse_Real |
7995.940745917621 ns/iter |
7783.001643449387 ns/iter |
1.03 |
JSON_Parse_Decimal |
13328.421609037878 ns/iter |
11127.536393463153 ns/iter |
1.20 |
JSON_Parse_Schema_ISO_Language |
6784369.262136043 ns/iter |
6769337.33653912 ns/iter |
1.00 |
JSON_Parse_Integer |
5693.894055900632 ns/iter |
5818.68629377653 ns/iter |
0.98 |
JSON_Parse_String_NonSSO_Plain |
11908.384427476683 ns/iter |
11859.837137759436 ns/iter |
1.00 |
JSON_Parse_String_SSO_Plain |
5048.859670725839 ns/iter |
5154.042746561934 ns/iter |
0.98 |
JSON_Parse_String_Escape_Heavy |
26602.838602204643 ns/iter |
24231.57924307171 ns/iter |
1.10 |
JSON_Parse_Object_Short_Keys |
14000.085126083884 ns/iter |
13994.400257813879 ns/iter |
1.00 |
JSON_Parse_Object_Scalar_Properties |
6983.861967622091 ns/iter |
7157.708047501597 ns/iter |
0.98 |
JSON_Parse_Object_Array_Properties |
12142.586494613166 ns/iter |
12641.775832823181 ns/iter |
0.96 |
JSON_Parse_Object_Object_Properties |
12312.528321609654 ns/iter |
11843.752279660248 ns/iter |
1.04 |
JSON_Parse_Nested_Containers |
98705.4639728766 ns/iter |
100148.4568396856 ns/iter |
0.99 |
JSON_From_String_Copy |
18.093702985383516 ns/iter |
19.35138663313034 ns/iter |
0.94 |
JSON_From_String_Temporary |
15.357299855723953 ns/iter |
16.008549698404142 ns/iter |
0.96 |
JSON_Number_To_Double |
20.915397274575906 ns/iter |
19.810359810949922 ns/iter |
1.06 |
JSON_Object_At_Last_Key/8 |
3.86604376580962 ns/iter |
4.206074506296717 ns/iter |
0.92 |
JSON_Object_At_Last_Key/32 |
11.875098927404991 ns/iter |
13.362298316601601 ns/iter |
0.89 |
JSON_Object_At_Last_Key/128 |
48.64249880455565 ns/iter |
47.8563415409592 ns/iter |
1.02 |
JSON_Object_At_Last_Key/512 |
360.94496945173177 ns/iter |
283.77418250468025 ns/iter |
1.27 |
JSON_Fast_Hash_Helm_Chart_Lock |
61.40867027643925 ns/iter |
71.71484497921358 ns/iter |
0.86 |
JSON_Equality_Helm_Chart_Lock |
156.6008105736674 ns/iter |
180.57882222868497 ns/iter |
0.87 |
JSON_Divisible_By_Decimal |
262.5588977681408 ns/iter |
242.67006181494506 ns/iter |
1.08 |
JSON_String_Equal/10 |
5.3767067268838105 ns/iter |
5.361077724735614 ns/iter |
1.00 |
JSON_String_Equal/100 |
5.99983974912677 ns/iter |
6.066544525984603 ns/iter |
0.99 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.6238099384648244 ns/iter |
0.7134489669558106 ns/iter |
0.87 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
25.193598392237718 ns/iter |
21.935378549276024 ns/iter |
1.15 |
JSON_String_Fast_Hash/10 |
2.327267762815703 ns/iter |
2.463460836870072 ns/iter |
0.94 |
JSON_String_Fast_Hash/100 |
2.2973617975544407 ns/iter |
2.4624541658611 ns/iter |
0.93 |
JSON_String_Key_Hash/10 |
1.2464263281900925 ns/iter |
1.0844456837807355 ns/iter |
1.15 |
JSON_String_Key_Hash/100 |
12.443182928379283 ns/iter |
14.754023288951416 ns/iter |
0.84 |
JSON_Object_Defines_Miss_Same_Length |
3.1150178596232507 ns/iter |
3.1681822579290952 ns/iter |
0.98 |
JSON_Object_Defines_Miss_Too_Small |
3.1129507060683936 ns/iter |
3.5193636862427353 ns/iter |
0.88 |
JSON_Object_Defines_Miss_Too_Large |
3.1126778744318266 ns/iter |
3.166965080513623 ns/iter |
0.98 |
Regex_Lower_S_Or_Upper_S_Asterisk |
0.9350786188767575 ns/iter |
1.0564022832898592 ns/iter |
0.89 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
0.6232673598753369 ns/iter |
0.7031654716939247 ns/iter |
0.89 |
Regex_Period_Asterisk |
0.9343200159929616 ns/iter |
1.0553480794781052 ns/iter |
0.89 |
Regex_Group_Period_Asterisk_Group |
0.6233176450045934 ns/iter |
0.703656530729846 ns/iter |
0.89 |
Regex_Period_Plus |
0.949753083200154 ns/iter |
1.0555699365789528 ns/iter |
0.90 |
Regex_Period |
0.622778831948128 ns/iter |
0.7033358676043653 ns/iter |
0.89 |
Regex_Caret_Period_Plus_Dollar |
0.9347623681317223 ns/iter |
1.0552714010790645 ns/iter |
0.89 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
0.6232450367804305 ns/iter |
0.7035895558951701 ns/iter |
0.89 |
Regex_Caret_Period_Asterisk_Dollar |
0.9393062063290101 ns/iter |
1.059762186847678 ns/iter |
0.89 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
0.6222555181451744 ns/iter |
0.7036138002267973 ns/iter |
0.88 |
Regex_Caret_X_Hyphen |
4.3632989714920365 ns/iter |
4.2198297208400195 ns/iter |
1.03 |
Regex_Period_Md_Dollar |
30.17078896328536 ns/iter |
33.100504410384744 ns/iter |
0.91 |
Regex_Caret_Slash_Period_Asterisk |
4.671619966587926 ns/iter |
4.5811580947832 ns/iter |
1.02 |
Regex_Caret_Period_Range_Dollar |
1.2461234195937552 ns/iter |
1.407798082709452 ns/iter |
0.89 |
Regex_Nested_Backtrack |
38.66469103494675 ns/iter |
40.4201465638768 ns/iter |
0.96 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 8aaa245 | Previous: b4011c4 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.8155720404869453 ns/iter |
1.981112226386981 ns/iter |
1.42 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.4621225112704623 ns/iter |
1.515817162678799 ns/iter |
1.62 |
Regex_Period_Asterisk |
2.462515105067814 ns/iter |
1.506234759138581 ns/iter |
1.63 |
Regex_Group_Period_Asterisk_Group |
2.8143749035005965 ns/iter |
2.017825505638183 ns/iter |
1.39 |
Regex_Period_Plus |
4.2247228042520515 ns/iter |
2.2222403399598525 ns/iter |
1.90 |
Regex_Period |
3.8763118688091835 ns/iter |
2.1563819315875654 ns/iter |
1.80 |
Regex_Caret_Period_Plus_Dollar |
3.8741016019048877 ns/iter |
2.1434015727051747 ns/iter |
1.81 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
4.288837414919644 ns/iter |
2.4353643506248472 ns/iter |
1.76 |
Regex_Caret_Period_Asterisk_Dollar |
3.1887432088131336 ns/iter |
1.937449196013318 ns/iter |
1.65 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.839786766306218 ns/iter |
1.5303187228154023 ns/iter |
1.86 |
Regex_Caret_X_Hyphen |
5.656524223782767 ns/iter |
4.04680742352313 ns/iter |
1.40 |
Regex_Period_Md_Dollar |
27.36559202219706 ns/iter |
19.22551009939851 ns/iter |
1.42 |
Regex_Caret_Slash_Period_Asterisk |
5.977170662746749 ns/iter |
4.060041674754601 ns/iter |
1.47 |
Regex_Caret_Period_Range_Dollar |
2.814554018202002 ns/iter |
2.7834129214981638 ns/iter |
1.01 |
Regex_Nested_Backtrack |
38.62553541855024 ns/iter |
30.456731556372215 ns/iter |
1.27 |
JSON_Array_Of_Objects_Unique |
421.66349784328156 ns/iter |
340.00250474769746 ns/iter |
1.24 |
JSON_Parse_1 |
4822.2793302964765 ns/iter |
4065.1464040204996 ns/iter |
1.19 |
JSON_Parse_Real |
5319.980153552107 ns/iter |
4299.875338351801 ns/iter |
1.24 |
JSON_Parse_Decimal |
8155.007417688276 ns/iter |
6490.02197444523 ns/iter |
1.26 |
JSON_Parse_Schema_ISO_Language |
3597569.0416668965 ns/iter |
2830506.2341270773 ns/iter |
1.27 |
JSON_Parse_Integer |
3964.0829206252442 ns/iter |
2900.569034571975 ns/iter |
1.37 |
JSON_Parse_String_NonSSO_Plain |
5250.076197850142 ns/iter |
3895.3556786181975 ns/iter |
1.35 |
JSON_Parse_String_SSO_Plain |
2885.9650566659993 ns/iter |
2161.5659249438554 ns/iter |
1.34 |
JSON_Parse_String_Escape_Heavy |
15465.237824566862 ns/iter |
12747.996053105098 ns/iter |
1.21 |
JSON_Parse_Object_Short_Keys |
8211.18248765729 ns/iter |
6689.760647682413 ns/iter |
1.23 |
JSON_Parse_Object_Scalar_Properties |
4178.807831623615 ns/iter |
3453.6806823340658 ns/iter |
1.21 |
JSON_Parse_Object_Array_Properties |
5732.925807371059 ns/iter |
4730.464002290797 ns/iter |
1.21 |
JSON_Parse_Object_Object_Properties |
5699.341733296215 ns/iter |
4546.660700143466 ns/iter |
1.25 |
JSON_Parse_Nested_Containers |
45684.115414659595 ns/iter |
37375.873129986576 ns/iter |
1.22 |
JSON_From_String_Copy |
28.006226480318354 ns/iter |
16.514596748952084 ns/iter |
1.70 |
JSON_From_String_Temporary |
19.76234147045257 ns/iter |
13.79606402512736 ns/iter |
1.43 |
JSON_Number_To_Double |
22.595857945836684 ns/iter |
23.41764205268696 ns/iter |
0.96 |
JSON_Object_At_Last_Key/8 |
4.099142011402777 ns/iter |
4.14584318335169 ns/iter |
0.99 |
JSON_Object_At_Last_Key/32 |
14.075050060759137 ns/iter |
11.622925156391764 ns/iter |
1.21 |
JSON_Object_At_Last_Key/128 |
56.610409990244115 ns/iter |
44.867296053383 ns/iter |
1.26 |
JSON_Object_At_Last_Key/512 |
369.691423555431 ns/iter |
186.06218932579475 ns/iter |
1.99 |
JSON_Fast_Hash_Helm_Chart_Lock |
70.08001819771881 ns/iter |
50.39985279998973 ns/iter |
1.39 |
JSON_Equality_Helm_Chart_Lock |
153.13905956153627 ns/iter |
122.22688349717275 ns/iter |
1.25 |
JSON_Divisible_By_Decimal |
248.0445271970589 ns/iter |
208.23542421461548 ns/iter |
1.19 |
JSON_String_Equal/10 |
5.276690731908356 ns/iter |
4.2331731084070165 ns/iter |
1.25 |
JSON_String_Equal/100 |
5.980875398017643 ns/iter |
5.444847609448799 ns/iter |
1.10 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.0550778373135181 ns/iter |
0.6027549091493059 ns/iter |
1.75 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
12.473240873746247 ns/iter |
9.117251836641627 ns/iter |
1.37 |
JSON_String_Fast_Hash/10 |
2.463414993293777 ns/iter |
2.029752719154027 ns/iter |
1.21 |
JSON_String_Fast_Hash/100 |
2.4649765589170065 ns/iter |
2.003330931577986 ns/iter |
1.23 |
JSON_String_Key_Hash/10 |
2.4610065590336663 ns/iter |
1.7176975433623383 ns/iter |
1.43 |
JSON_String_Key_Hash/100 |
8.259053625284041 ns/iter |
6.636939401168994 ns/iter |
1.24 |
JSON_Object_Defines_Miss_Same_Length |
4.227948814292046 ns/iter |
4.046161021339024 ns/iter |
1.04 |
JSON_Object_Defines_Miss_Too_Small |
3.196077602456051 ns/iter |
3.7717412370358248 ns/iter |
0.85 |
JSON_Object_Defines_Miss_Too_Large |
2.9452005528232985 ns/iter |
3.3217324009239473 ns/iter |
0.89 |
Pointer_Object_Traverse |
30.811674770831093 ns/iter |
21.091968228322727 ns/iter |
1.46 |
Pointer_Object_Try_Traverse |
33.16392829155437 ns/iter |
23.91481867938582 ns/iter |
1.39 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
175.1994946403333 ns/iter |
144.37020825446686 ns/iter |
1.21 |
Pointer_Walker_Schema_ISO_Language |
2746076.320312429 ns/iter |
2191076.6666665226 ns/iter |
1.25 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1287995.9023941183 ns/iter |
979308.9176470711 ns/iter |
1.32 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1615065.8912037155 ns/iter |
1422134.0140562393 ns/iter |
1.14 |
Pointer_Position_Tracker_Get_Deeply_Nested |
711.7164327282067 ns/iter |
606.6580521803942 ns/iter |
1.17 |
JSONPath_Descendant_Filter_Nested |
1602.3446398859521 ns/iter |
1164.2648896914213 ns/iter |
1.38 |
URITemplateRouter_Create |
31503.021243296178 ns/iter |
25606.360409080524 ns/iter |
1.23 |
URITemplateRouter_Match |
185.12139253453842 ns/iter |
148.7581561771474 ns/iter |
1.24 |
URITemplateRouter_Match_BasePath |
224.98454494645907 ns/iter |
167.984773145861 ns/iter |
1.34 |
URITemplateRouterView_Restore |
9097.35014026548 ns/iter |
2932.669622842693 ns/iter |
3.10 |
URITemplateRouterView_Match |
146.9534106170296 ns/iter |
116.8163072746908 ns/iter |
1.26 |
URITemplateRouterView_Match_BasePath |
169.68787826287974 ns/iter |
131.11329624030083 ns/iter |
1.29 |
URITemplateRouterView_Arguments |
453.6740213141034 ns/iter |
384.24373257575127 ns/iter |
1.18 |
JSONL_Parse_Large |
9817650.736110294 ns/iter |
7899601.400000241 ns/iter |
1.24 |
JSONL_Parse_Large_GZIP |
11435701.016394053 ns/iter |
9176243.216216248 ns/iter |
1.25 |
JSONLD_Catalog_Annotation_List_Populate |
1269735.5171789073 ns/iter |
982570.4106891794 ns/iter |
1.29 |
JSONLD_Catalog_Materialize |
4450143.374999982 ns/iter |
3449772.52450964 ns/iter |
1.29 |
HTML_Build_Table_100000 |
76017759.11112124 ns/iter |
54158054.36363867 ns/iter |
1.40 |
HTML_Render_Table_100000 |
4931323.556338035 ns/iter |
4729259.53061219 ns/iter |
1.04 |
GZIP_Compress_ISO_Language_Set_3_Locations |
35149957.49999912 ns/iter |
23946867.10344778 ns/iter |
1.47 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4328601.65853676 ns/iter |
3193873.3027523044 ns/iter |
1.36 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2117975.430303087 ns/iter |
1613563.497747683 ns/iter |
1.31 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
277207.42353410687 ns/iter |
307342.09756098274 ns/iter |
0.90 |
JOSE_VerifySignature_RS256 |
64109.67500914099 ns/iter |
42257.02878787877 ns/iter |
1.52 |
JOSE_VerifySignature_ES512 |
2635822.8646613564 ns/iter |
1844449.7704484041 ns/iter |
1.43 |
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: 8aaa245 | Previous: b4011c4 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
5.120285000000422 ns/iter |
5.328868999999941 ns/iter |
0.96 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
4.989579999999023 ns/iter |
5.016048999998475 ns/iter |
0.99 |
Regex_Period_Asterisk |
4.964763000000403 ns/iter |
5.0163964285709595 ns/iter |
0.99 |
Regex_Group_Period_Asterisk_Group |
4.9736860000007255 ns/iter |
5.020938000000115 ns/iter |
0.99 |
Regex_Period_Plus |
4.689773447967758 ns/iter |
5.014415000000554 ns/iter |
0.94 |
Regex_Period |
4.751896585882982 ns/iter |
5.3260180000006585 ns/iter |
0.89 |
Regex_Caret_Period_Plus_Dollar |
4.621198671028915 ns/iter |
5.022405357142442 ns/iter |
0.92 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
4.8383390732992995 ns/iter |
5.4404169999997976 ns/iter |
0.89 |
Regex_Caret_Period_Asterisk_Dollar |
5.196780999999646 ns/iter |
5.329999999999018 ns/iter |
0.98 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.9574200000006385 ns/iter |
5.100073000000975 ns/iter |
0.97 |
Regex_Caret_X_Hyphen |
7.8630495184676334 ns/iter |
8.484484783552093 ns/iter |
0.93 |
Regex_Period_Md_Dollar |
65.05369999999857 ns/iter |
45.01442749988415 ns/iter |
1.45 |
Regex_Caret_Slash_Period_Asterisk |
7.4599696428561755 ns/iter |
7.972033482143307 ns/iter |
0.94 |
Regex_Caret_Period_Range_Dollar |
5.341758035714048 ns/iter |
5.9588776785700155 ns/iter |
0.90 |
Regex_Nested_Backtrack |
79.48341517857013 ns/iter |
55.377553571430234 ns/iter |
1.44 |
JSON_Array_Of_Objects_Unique |
772.9267857141358 ns/iter |
594.1216071428406 ns/iter |
1.30 |
JSON_Parse_1 |
9328.67130057524 ns/iter |
8914.610202633254 ns/iter |
1.05 |
JSON_Parse_Real |
17713.263928111322 ns/iter |
16199.216517860697 ns/iter |
1.09 |
JSON_Parse_Decimal |
11140.12656249841 ns/iter |
11771.294642857454 ns/iter |
0.95 |
JSON_Parse_Schema_ISO_Language |
7735726.666666981 ns/iter |
8129553.333333206 ns/iter |
0.95 |
JSON_Parse_Integer |
5938.602678572888 ns/iter |
6162.778571428313 ns/iter |
0.96 |
JSON_Parse_String_NonSSO_Plain |
7982.002232144023 ns/iter |
7754.449107141324 ns/iter |
1.03 |
JSON_Parse_String_SSO_Plain |
3715.7780709823164 ns/iter |
3665.905340902171 ns/iter |
1.01 |
JSON_Parse_String_Escape_Heavy |
21921.62812499987 ns/iter |
21579.453124999756 ns/iter |
1.02 |
JSON_Parse_Object_Short_Keys |
13285.776849207696 ns/iter |
13409.005357142893 ns/iter |
0.99 |
JSON_Parse_Object_Scalar_Properties |
6774.882142857612 ns/iter |
6907.033482142261 ns/iter |
0.98 |
JSON_Parse_Object_Array_Properties |
11581.648214286944 ns/iter |
11375.410937500164 ns/iter |
1.02 |
JSON_Parse_Object_Object_Properties |
11753.971428569392 ns/iter |
11554.807812501622 ns/iter |
1.02 |
JSON_Parse_Nested_Containers |
80891.2611607125 ns/iter |
81299.57144769751 ns/iter |
0.99 |
JSON_From_String_Copy |
62.53381249998873 ns/iter |
63.817160714287574 ns/iter |
0.98 |
JSON_From_String_Temporary |
81.95845982143116 ns/iter |
58.08297321428719 ns/iter |
1.41 |
JSON_Number_To_Double |
143.44736607141735 ns/iter |
120.79449999999628 ns/iter |
1.19 |
JSON_Object_At_Last_Key/8 |
8.236594866069932 ns/iter |
7.232320535712639 ns/iter |
1.14 |
JSON_Object_At_Last_Key/32 |
24.727649942365492 ns/iter |
23.199639250009614 ns/iter |
1.07 |
JSON_Object_At_Last_Key/128 |
96.33697337781564 ns/iter |
89.11952280717671 ns/iter |
1.08 |
JSON_Object_At_Last_Key/512 |
421.94582039329225 ns/iter |
423.6523750000742 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
132.40123069638219 ns/iter |
101.99058026827535 ns/iter |
1.30 |
JSON_Equality_Helm_Chart_Lock |
204.0123279458713 ns/iter |
232.7673980907379 ns/iter |
0.88 |
JSON_Divisible_By_Decimal |
380.4926620756474 ns/iter |
295.0907011119939 ns/iter |
1.29 |
JSON_String_Equal/10 |
10.016169598140904 ns/iter |
10.361702008927816 ns/iter |
0.97 |
JSON_String_Equal/100 |
11.351865625002233 ns/iter |
11.625834374999753 ns/iter |
0.98 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
2.197011894869567 ns/iter |
2.508549999999689 ns/iter |
0.88 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
19.764909956405933 ns/iter |
14.179648597409306 ns/iter |
1.39 |
JSON_String_Fast_Hash/10 |
6.37626250000015 ns/iter |
6.5933035714290815 ns/iter |
0.97 |
JSON_String_Fast_Hash/100 |
6.380326785714731 ns/iter |
6.826322321428182 ns/iter |
0.93 |
JSON_String_Key_Hash/10 |
4.9663059999988945 ns/iter |
5.726120535714228 ns/iter |
0.87 |
JSON_String_Key_Hash/100 |
11.215521428567854 ns/iter |
11.941471874997944 ns/iter |
0.94 |
JSON_Object_Defines_Miss_Same_Length |
3.906219866070616 ns/iter |
3.785248386097879 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Too_Small |
4.232799374999274 ns/iter |
4.117366971638449 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Too_Large |
3.891489955357232 ns/iter |
3.7842133860996605 ns/iter |
1.03 |
Pointer_Object_Traverse |
77.24497321429372 ns/iter |
71.02041964285735 ns/iter |
1.09 |
Pointer_Object_Try_Traverse |
69.55606249998628 ns/iter |
71.8499107142837 ns/iter |
0.97 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
174.7365156014691 ns/iter |
184.0168557158086 ns/iter |
0.95 |
Pointer_Walker_Schema_ISO_Language |
12029746.666667052 ns/iter |
12080864.285715213 ns/iter |
1.00 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2413765.060241366 ns/iter |
2454704.9999999413 ns/iter |
0.98 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3665695.8974349555 ns/iter |
3797623.5294118035 ns/iter |
0.97 |
Pointer_Position_Tracker_Get_Deeply_Nested |
556.1709821429466 ns/iter |
510.83641924058094 ns/iter |
1.09 |
JSONPath_Descendant_Filter_Nested |
2837.357617251382 ns/iter |
2444.049057981236 ns/iter |
1.16 |
URITemplateRouter_Create |
38202.46651785755 ns/iter |
40699.64018339126 ns/iter |
0.94 |
URITemplateRouter_Match |
219.5100624999924 ns/iter |
235.93048706132294 ns/iter |
0.93 |
URITemplateRouter_Match_BasePath |
246.42446428572381 ns/iter |
265.423516313515 ns/iter |
0.93 |
URITemplateRouterView_Restore |
24323.07142857683 ns/iter |
33782.09585542255 ns/iter |
0.72 |
URITemplateRouterView_Match |
171.3271721871307 ns/iter |
181.95194481716197 ns/iter |
0.94 |
URITemplateRouterView_Match_BasePath |
194.41049057240036 ns/iter |
207.1624483409392 ns/iter |
0.94 |
URITemplateRouterView_Arguments |
600.449553571382 ns/iter |
533.7574107142831 ns/iter |
1.12 |
JSONL_Parse_Large |
32999204.761901118 ns/iter |
32991061.90476258 ns/iter |
1.00 |
JSONL_Parse_Large_GZIP |
33596638.09524569 ns/iter |
33621233.33333026 ns/iter |
1.00 |
JSONLD_Catalog_Annotation_List_Populate |
2713326.907629913 ns/iter |
2842803.4090907346 ns/iter |
0.95 |
JSONLD_Catalog_Materialize |
8443940.000001425 ns/iter |
11695414.666667905 ns/iter |
0.72 |
HTML_Build_Table_100000 |
92308385.71426961 ns/iter |
95666814.28571297 ns/iter |
0.96 |
HTML_Render_Table_100000 |
7910284.4444454 ns/iter |
8199646.666665406 ns/iter |
0.96 |
GZIP_Compress_ISO_Language_Set_3_Locations |
37595057.89474516 ns/iter |
35926173.6842104 ns/iter |
1.05 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
10415637.49999952 ns/iter |
10152621.333333325 ns/iter |
1.03 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2295199.665551966 ns/iter |
2132744.9275357113 ns/iter |
1.08 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
585406.3392858068 ns/iter |
636569.8214285739 ns/iter |
0.92 |
JOSE_VerifySignature_RS256 |
23813.81457796619 ns/iter |
21335.12564563618 ns/iter |
1.12 |
JOSE_VerifySignature_ES512 |
1529760.0446427648 ns/iter |
1544147.767857242 ns/iter |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com