Repository navigation
Higher line coverage in various modules - #3017
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
There was a problem hiding this comment.
5 issues found across 73 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="test/oidc/oidc_id_token_test.cc">
<violation number="1" location="test/oidc/oidc_id_token_test.cc:1441">
P3: This duplicates `validate_treats_an_overflowing_auth_time_as_absent` at line 1081, so it adds no distinct coverage. Remove this test or add a genuinely different case to the existing one.</violation>
</file>
<file name="src/core/crypto/crypto_hkdf_windows.cc">
<violation number="1" location="src/core/crypto/crypto_hkdf_windows.cc:29">
P2: Both comments are over-indented for the configured LLVM style, so `clang_format_test` fails. Indent each comment by two spaces.</violation>
</file>
<file name="src/core/crypto/crypto_verify_windows.cc">
<violation number="1" location="src/core/crypto/crypto_verify_windows.cc:41">
P2: All four new comments use four-space indentation instead of the two-space function-body indentation required by the project’s clang-format check, so this file will fail `clang_format_test`. Align these comments with the adjacent code.</violation>
</file>
<file name="test/gzip/gzip_decompress_error_test.cc">
<violation number="1" location="test/gzip/gzip_decompress_error_test.cc:1046">
P3: This fixture already supplies the `1` bit that selects the unused half of the one-bit code-length table, so the stream is provably invalid rather than merely truncated. Use a truncated prefix that remains valid until more input is needed, or classify this input as `Invalid Huffman code`.</violation>
</file>
<file name="src/core/punycode/include/sourcemeta/core/punycode.h">
<violation number="1" location="src/core/punycode/include/sourcemeta/core/punycode.h:68">
P1: These exported declarations replace the one-argument symbols; default arguments do not preserve ABI, so prebuilt clients fail to load against the new library. Keep the old overloads as forwarding wrappers and add bounded overloads without defaults.</violation>
</file>
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
| /// A bound smaller than the default refuses a larger input outright. | ||
| SOURCEMETA_CORE_PUNYCODE_EXPORT | ||
| auto utf32_to_punycode(std::u32string_view input) -> std::string; | ||
| auto utf32_to_punycode(std::u32string_view input, |
There was a problem hiding this comment.
P1: These exported declarations replace the one-argument symbols; default arguments do not preserve ABI, so prebuilt clients fail to load against the new library. Keep the old overloads as forwarding wrappers and add bounded overloads without defaults.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At src/core/punycode/include/sourcemeta/core/punycode.h, line 68:
<comment>These exported declarations replace the one-argument symbols; default arguments do not preserve ABI, so prebuilt clients fail to load against the new library. Keep the old overloads as forwarding wrappers and add bounded overloads without defaults.</comment>
<file context>
@@ -45,8 +63,11 @@ namespace sourcemeta::core {
+/// A bound smaller than the default refuses a larger input outright.
SOURCEMETA_CORE_PUNYCODE_EXPORT
-auto utf32_to_punycode(std::u32string_view input) -> std::string;
+auto utf32_to_punycode(std::u32string_view input,
+ std::size_t maximum_code_points =
+ PUNYCODE_MAXIMUM_CODE_POINTS) -> std::string;
</file context>
| // RFC 7519 Section 2 lets a NumericDate be non-integer, so a value past what a | ||
| // timestamp can stand for is read as no authentication time at all rather than | ||
| // aborting, which a freshness window then has nothing to measure against | ||
| TEST(validate_rejects_an_auth_time_beyond_the_representable_range) { |
There was a problem hiding this comment.
P3: This duplicates validate_treats_an_overflowing_auth_time_as_absent at line 1081, so it adds no distinct coverage. Remove this test or add a genuinely different case to the existing one.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At test/oidc/oidc_id_token_test.cc, line 1441:
<comment>This duplicates `validate_treats_an_overflowing_auth_time_as_absent` at line 1081, so it adds no distinct coverage. Remove this test or add a genuinely different case to the existing one.</comment>
<file context>
@@ -1434,3 +1434,25 @@ TEST(validate_rejects_a_required_code_hash_that_does_not_match) {
+// RFC 7519 Section 2 lets a NumericDate be non-integer, so a value past what a
+// timestamp can stand for is read as no authentication time at all rather than
+// aborting, which a freshness window then has nothing to measure against
+TEST(validate_rejects_an_auth_time_beyond_the_representable_range) {
+ const auto compact{sign_id_token(R"JSON({
+ "iss": "https://issuer.example",
</file context>
| const std::vector<std::uint8_t> input{0x1f, 0x8b, 0x08, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x00, 0xff, | ||
| 0x05, 0x00, 0x02, 0x20}; | ||
| EXPECT_GZIP_DECOMPRESS_ERROR(input, "Unexpected end of source stream"); |
There was a problem hiding this comment.
P3: This fixture already supplies the 1 bit that selects the unused half of the one-bit code-length table, so the stream is provably invalid rather than merely truncated. Use a truncated prefix that remains valid until more input is needed, or classify this input as Invalid Huffman code.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At test/gzip/gzip_decompress_error_test.cc, line 1046:
<comment>This fixture already supplies the `1` bit that selects the unused half of the one-bit code-length table, so the stream is provably invalid rather than merely truncated. Use a truncated prefix that remains valid until more input is needed, or classify this input as `Invalid Huffman code`.</comment>
<file context>
@@ -1023,3 +1023,25 @@ TEST(missing_stored_block_length) {
+ const std::vector<std::uint8_t> input{0x1f, 0x8b, 0x08, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x05, 0x00, 0x02, 0x20};
+ EXPECT_GZIP_DECOMPRESS_ERROR(input, "Unexpected end of source stream");
+}
</file context>
| /// assert(sourcemeta::core::utf8_to_punycode("M\xC3\xBCnchen") == | ||
| /// "Mnchen-3ya"); | ||
| /// ``` | ||
| /// A bound smaller than the default refuses a larger input outright. |
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Caret_Period_Range_Dollar |
3.43 ns | 4.36 ns | +27.1% |
Pointer_Object_Try_Traverse |
30.20 ns | 33.76 ns | +11.8% |
OpenAPI_Format_Synthetic_3_1 |
50.36 ms | 55.50 ms | +10.2% |
JSON_String_Equal_10 |
6.23 ns | 6.85 ns | +10.0% |
JSON_String_Equal_100 |
6.85 ns | 7.48 ns | +9.1% |
JSON_Equality_Helm_Chart_Lock |
157.02 ns | 168.82 ns | +7.5% |
Schema_Frame_OMC_Locations |
8.26 ms | 8.74 ms | +5.9% |
Markdown_To_HTML_Pathological |
13.05 ms | 13.78 ms | +5.6% |
Pointer_Tracked_Deeply_Nested |
1.68 ms | 1.60 ms | -5.1% |
JSON_Parse_Object_Scalar_Properties |
4.21 us | 3.98 us | -5.6% |
JSON_Parse_Object_Array_Properties |
5.83 us | 5.50 us | -5.7% |
JSON_Parse_Object_Short_Keys |
8.27 us | 7.79 us | -5.7% |
JSON_Parse_Object_Object_Properties |
5.80 us | 5.45 us | -6.0% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
9.97 ms | 9.24 ms | -7.3% |
JSON_Prettify_KrakenD |
2.29 ms | 2.07 ms | -9.6% |
Regex_Period_Asterisk |
2.49 ns | 2.19 ns | -12.2% |
Regex_Group_Period_Asterisk_Group |
2.49 ns | 2.19 ns | -12.2% |
JSON_Fast_Hash_Helm_Chart_Lock |
61.01 ns | 53.50 ns | -12.3% |
JSON_String_Fast_Hash_100 |
2.49 ns | 2.18 ns | -12.5% |
JSON_String_Fast_Hash_10 |
2.49 ns | 2.18 ns | -12.5% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.05 ns | 3.43 ns | -15.4% |
Regex_Caret_Period_Asterisk_Dollar |
4.05 ns | 3.42 ns | -15.4% |
Regex_Period_Plus |
3.43 ns | 2.80 ns | -18.2% |
Regex_Period |
3.42 ns | 2.80 ns | -18.2% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.11 ns | 2.49 ns | -20.0% |
Regex_Caret_Period_Plus_Dollar |
3.12 ns | 2.49 ns | -20.1% |
Regex_Caret_Slash_Period_Asterisk |
7.79 ns | 6.22 ns | -20.1% |
Regex_Lower_S_Or_Upper_S_Asterisk |
2.80 ns | 2.22 ns | -20.9% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.80 ns | 2.20 ns | -21.5% |
Regex_Caret_X_Hyphen |
7.17 ns | 5.30 ns | -26.1% |
All 115 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.80 ns | 2.22 ns | -20.9% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.80 ns | 2.20 ns | -21.5% |
Regex_Period_Asterisk |
2.49 ns | 2.19 ns | -12.2% |
Regex_Group_Period_Asterisk_Group |
2.49 ns | 2.19 ns | -12.2% |
Regex_Period_Plus |
3.43 ns | 2.80 ns | -18.2% |
Regex_Period |
3.42 ns | 2.80 ns | -18.2% |
Regex_Caret_Period_Plus_Dollar |
3.12 ns | 2.49 ns | -20.1% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.11 ns | 2.49 ns | -20.0% |
Regex_Caret_Period_Asterisk_Dollar |
4.05 ns | 3.42 ns | -15.4% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.05 ns | 3.43 ns | -15.4% |
Regex_Caret_X_Hyphen |
7.17 ns | 5.30 ns | -26.1% |
Regex_Period_Md_Dollar |
27.12 ns | 27.34 ns | +0.8% |
Regex_Caret_Slash_Period_Asterisk |
7.79 ns | 6.22 ns | -20.1% |
Regex_Caret_Period_Range_Dollar |
3.43 ns | 4.36 ns | +27.1% |
Regex_Nested_Backtrack |
38.61 ns | 38.45 ns | -0.4% |
JSON_Array_Of_Objects_Unique |
403.01 ns | 387.76 ns | -3.8% |
JSON_Array_Of_Integers_Unique_256 |
4.93 us | 5.09 us | +3.2% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
216.28 us | 205.55 us | -5.0% |
JSON_Parse_1 |
4.48 us | 4.57 us | +1.8% |
JSON_Parse_Real |
4.53 us | 4.47 us | -1.4% |
JSON_Parse_Real_Inexact |
4.07 us | 4.24 us | +4.2% |
JSON_Parse_Decimal |
7.60 us | 7.25 us | -4.6% |
JSON_Parse_Schema_ISO_Language |
3.31 ms | 3.33 ms | +0.6% |
JSON_Parse_KrakenD |
1.11 ms | 1.10 ms | -1.3% |
JSON_Stringify_ISO_Language |
2.60 ms | 2.49 ms | -4.0% |
JSON_Prettify_KrakenD |
2.29 ms | 2.07 ms | -9.6% |
JSON_Parse_Integer |
3.70 us | 3.66 us | -1.2% |
JSON_Parse_String_NonSSO_Plain |
3.33 us | 3.29 us | -1.3% |
JSON_Parse_String_SSO_Plain |
2.95 us | 2.91 us | -1.1% |
JSON_Parse_String_Escape_Heavy |
12.54 us | 12.53 us | -0.1% |
JSON_Parse_Object_Short_Keys |
8.27 us | 7.79 us | -5.7% |
JSON_Parse_Object_Scalar_Properties |
4.21 us | 3.98 us | -5.6% |
JSON_Parse_Object_Array_Properties |
5.83 us | 5.50 us | -5.7% |
JSON_Parse_Object_Object_Properties |
5.80 us | 5.45 us | -6.0% |
JSON_Parse_Nested_Containers |
34.81 us | 34.20 us | -1.7% |
JSON_Fast_Hash_Helm_Chart_Lock |
61.01 ns | 53.50 ns | -12.3% |
JSON_Equality_Helm_Chart_Lock |
157.02 ns | 168.82 ns | +7.5% |
JSON_String_Equal_10 |
6.23 ns | 6.85 ns | +10.0% |
JSON_String_Equal_100 |
6.85 ns | 7.48 ns | +9.1% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
0.94 ns | 0.94 ns | +0.2% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
14.93 ns | 14.95 ns | +0.1% |
JSON_String_Fast_Hash_10 |
2.49 ns | 2.18 ns | -12.5% |
JSON_String_Fast_Hash_100 |
2.49 ns | 2.18 ns | -12.5% |
JSON_String_Key_Hash_10 |
2.74 ns | 2.75 ns | +0.4% |
JSON_String_Key_Hash_100 |
9.02 ns | 9.03 ns | +0.0% |
JSON_Object_Defines_Miss_Same_Length |
2.99 ns | 3.00 ns | +0.3% |
JSON_Object_Defines_Miss_Too_Small |
3.43 ns | 3.42 ns | -0.1% |
JSON_Object_Defines_Miss_Too_Large |
2.72 ns | 2.75 ns | +1.1% |
JSON_From_String_Copy |
11.26 ns | 10.70 ns | -4.9% |
JSON_From_String_Temporary |
10.00 ns | 9.77 ns | -2.3% |
JSON_Number_To_Double |
14.96 ns | 14.96 ns | +0.0% |
JSON_Object_At_Last_Key_8 |
5.87 ns | 5.81 ns | -1.0% |
JSON_Object_At_Last_Key_32 |
12.31 ns | 12.20 ns | -0.9% |
JSON_Object_At_Last_Key_128 |
48.57 ns | 48.60 ns | +0.0% |
JSON_Object_At_Last_Key_512 |
372.79 ns | 380.69 ns | +2.1% |
JSON_Divisible_By_Decimal |
302.58 ns | 294.09 ns | -2.8% |
JSON_PropertySet_Contains |
50.73 ns | 51.94 ns | +2.4% |
JSON_PropertySet_Filter_Object_Properties |
51.21 ns | 52.36 ns | +2.2% |
JSON_PropertySet_Insert |
574.82 ns | 586.70 ns | +2.1% |
JSON_Stringify_Schema_Web_Of_Things |
65.05 us | 63.28 us | -2.7% |
JSON_Prettify_Schema_Web_Of_Things |
178.95 us | 175.33 us | -2.0% |
Pointer_Object_Traverse |
29.05 ns | 28.43 ns | -2.1% |
Pointer_Object_Try_Traverse |
30.20 ns | 33.76 ns | +11.8% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
196.64 ns | 197.95 ns | +0.7% |
Pointer_Walker_Schema_ISO_Language |
1.61 ms | 1.56 ms | -3.0% |
Pointer_Untracked_Deeply_Nested |
1.22 ms | 1.23 ms | +0.3% |
Pointer_Tracked_Deeply_Nested |
1.68 ms | 1.60 ms | -5.1% |
Pointer_Position_Tracker_Get_Deeply_Nested |
610.19 ns | 627.71 ns | +2.9% |
Schema_Tracker_ISO_Language |
4.53 ms | 4.50 ms | -0.7% |
Schema_Tracker_ISO_Language_To_JSON |
16.98 ms | 16.68 ms | -1.7% |
Schema_Frame_WoT_References |
2.06 ms | 2.05 ms | -0.7% |
Schema_Frame_OMC_References |
9.29 ms | 9.32 ms | +0.3% |
Schema_Frame_OMC_Pointers |
17.87 ms | 18.55 ms | +3.8% |
Schema_Frame_OMC_Locations |
8.26 ms | 8.74 ms | +5.9% |
Schema_Frame_ISO_Language_Locations |
44.76 ms | 43.58 ms | -2.6% |
Schema_Frame_ISO_Language_Root |
334.98 ns | 331.64 ns | -1.0% |
Schema_Frame_KrakenD_References |
16.95 ms | 16.69 ms | -1.5% |
Schema_Frame_KrakenD_Reachable |
155.71 ms | 158.00 ms | +1.5% |
Schema_Frame_ISO_Language_Locations_To_JSON |
33.31 ms | 32.84 ms | -1.4% |
Schema_Frame_Many_Resources_References |
116.47 ms | 118.74 ms | +1.9% |
Schema_Frame_Deeply_Nested_References |
11.46 ms | 11.86 ms | +3.4% |
Schema_Format_ISO_Language |
50.43 ms | 50.25 ms | -0.4% |
Schema_Bundle_Meta_2020_12 |
578.62 us | 586.55 us | +1.4% |
Schema_Bundle_Many_Remotes_With_Fragments |
6.47 ms | 6.64 ms | +2.5% |
OpenAPI_Frame_GSMTasks_3_0 |
162.25 ms | 167.81 ms | +3.4% |
OpenAPI_Format_Synthetic_3_1 |
50.36 ms | 55.50 ms | +10.2% |
JSONPath_Descendant_Filter_Nested |
1.83 us | 1.87 us | +2.3% |
URITemplateRouter_Create |
24.00 us | 23.30 us | -2.9% |
URITemplateRouter_Match |
173.12 ns | 178.30 ns | +3.0% |
URITemplateRouterView_Restore |
8.51 us | 8.54 us | +0.3% |
URITemplateRouterView_Match |
140.87 ns | 144.19 ns | +2.4% |
URITemplateRouterView_Arguments |
446.72 ns | 425.45 ns | -4.8% |
URITemplateRouter_Match_BasePath |
193.21 ns | 202.80 ns | +5.0% |
URITemplateRouterView_Match_BasePath |
161.57 ns | 166.42 ns | +3.0% |
JSONL_Parse_Large |
9.34 ms | 9.54 ms | +2.2% |
JSONL_Parse_Large_GZIP |
9.63 ms | 9.78 ms | +1.5% |
JSONLD_Catalog_Annotation_List_Populate |
610.21 us | 612.38 us | +0.4% |
JSONLD_Catalog_Materialize |
3.57 ms | 3.58 ms | +0.4% |
HTML_Build_Table_100000 |
38.40 ms | 38.50 ms | +0.3% |
HTML_Render_Table_100000 |
2.10 ms | 2.05 ms | -2.1% |
Markdown_To_HTML_Realistic_Document |
4.09 ms | 4.03 ms | -1.5% |
Markdown_To_HTML_Pathological |
13.05 ms | 13.78 ms | +5.6% |
Markdown_To_HTML_Short_Descriptions |
583.27 ns | 571.35 ns | -2.0% |
GZIP_Compress_ISO_Language_Set_3_Locations |
37.59 ms | 37.51 ms | -0.2% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
5.21 ms | 5.16 ms | -1.0% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
7.16 ms | 7.08 ms | -1.2% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
9.97 ms | 9.24 ms | -7.3% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.22 ms | 2.23 ms | +0.1% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
425.66 us | 424.61 us | -0.2% |
JOSE_VerifySignature_RS256 |
47.49 us | 48.47 us | +2.0% |
JOSE_VerifySignature_ES512 |
1.74 ms | 1.73 ms | -0.9% |
Crypto_CRC32_Large_JSONL |
101.74 us | 102.12 us | +0.4% |
Crypto_AES_GCM_Encrypt_128_1KB |
31.33 us | 32.43 us | +3.5% |
Crypto_AES_GCM_Decrypt_128_1KB |
31.30 us | 32.40 us | +3.5% |
Crypto_AES_GCM_Encrypt_256_1KB |
38.12 us | 39.22 us | +2.9% |
🤖 Augment PR SummarySummary: Targets higher line coverage through edge-case tests and refactors of branches considered unreachable.
🤖 Was this summary useful? React with 👍 or 👎 |
| assert(original_start == original_end || modified_start == modified_end || | ||
| original[original_end - 1] != modified[modified_end - 1]); |
There was a problem hiding this comment.
At src/core/diff/myers.h:145-146, could you check this invariant with the line-mode inputs "a\na\nb\n" and "c\na\nb\nd\n"? The middle snake runs from (2,2) to (3,3), leaving a left recursive comparison of [a,a] against [c,a], whose equal trailing lines now trigger this assertion and abort an otherwise valid diff.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| authentication_time = from_unix_timestamp( | ||
| std::chrono::duration<double>{auth_time->as_real()}); |
There was a problem hiding this comment.
At src/core/oidc/oidc_id_token.cc:176-177, could you check a signed token containing "auth_time": 1e400? JSON::as_real() throws std::out_of_range before from_unix_timestamp() runs, so removing the catch propagates an exception from oidc_validate_id_token() instead of treating the claim as absent; the added 1e300 test remains within the double range.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| // The range check above holds the literal to what the double precision | ||
| // format reaches, which sits far inside the exponent a decimal carries, so | ||
| // reading it as one always answers | ||
| return JSON{Decimal{text}}; |
There was a problem hiding this comment.
At src/core/jsonpath/parser.h:892, could you check $[?@.a == 0e2147483648]? This zero-valued literal passes to_double() but exceeds Decimal's exponent range, so DecimalParseError now escapes instead of JSONPathParseError, also bypassing the error handling in JSONPath::from_json().
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| result += name; | ||
| result += ": "; | ||
| result += value.bytes(); | ||
| bytes = value.bytes(); |
There was a problem hiding this comment.
At src/core/http/include/sourcemeta/core/http_message.h:404, could you check a header value whose bytes() const returns an owning std::string? Its temporary is destroyed at this semicolon, leaving bytes dangling during validation and serialization, whereas the previous direct calls kept that temporary alive throughout each operation.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
JSON_Object_At_Last_Key_32 |
13.62 ns | 22.86 ns | +67.8% |
JSON_Object_At_Last_Key_128 |
52.45 ns | 87.31 ns | +66.5% |
JSON_Object_At_Last_Key_512 |
217.24 ns | 355.07 ns | +63.4% |
JSON_Object_At_Last_Key_8 |
5.67 ns | 6.93 ns | +22.3% |
Regex_Caret_Period_Range_Dollar |
2.93 ns | 3.46 ns | +18.0% |
JSON_Fast_Hash_Helm_Chart_Lock |
67.27 ns | 76.48 ns | +13.7% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.52 ns | 2.84 ns | +12.9% |
Regex_Group_Period_Asterisk_Group |
2.52 ns | 2.84 ns | +12.9% |
JSON_String_Key_Hash_100 |
14.11 ns | 15.80 ns | +12.0% |
JSON_String_Fast_Hash_100 |
3.15 ns | 3.49 ns | +10.6% |
JSON_String_Fast_Hash_10 |
3.15 ns | 3.48 ns | +10.5% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
189.98 ns | 209.94 ns | +10.5% |
Regex_Caret_Period_Asterisk_Dollar |
2.60 ns | 2.86 ns | +9.8% |
Regex_Period_Plus |
2.61 ns | 2.86 ns | +9.8% |
Regex_Lower_S_Or_Upper_S_Asterisk |
2.60 ns | 2.86 ns | +9.8% |
Schema_Frame_ISO_Language_Locations_To_JSON |
32.40 ms | 34.73 ms | +7.2% |
Regex_Period |
2.59 ns | 2.77 ns | +7.0% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.59 ns | 2.77 ns | +6.8% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.60 ns | 2.77 ns | +6.6% |
JSON_String_Key_Hash_10 |
3.23 ns | 3.44 ns | +6.5% |
Pointer_Object_Traverse |
21.55 ns | 22.90 ns | +6.3% |
JSON_Array_Of_Objects_Unique |
433.45 ns | 460.14 ns | +6.2% |
Schema_Tracker_ISO_Language |
4.88 ms | 5.18 ms | +6.1% |
HTML_Build_Table_100000 |
39.48 ms | 41.53 ms | +5.2% |
JSON_Parse_Nested_Containers |
40.74 us | 38.69 us | -5.1% |
JSON_Parse_Object_Array_Properties |
6.47 us | 6.11 us | -5.5% |
Pointer_Object_Try_Traverse |
26.59 ns | 24.86 ns | -6.5% |
JSON_Parse_Real_Inexact |
4.61 us | 4.30 us | -6.7% |
JSON_Equality_Helm_Chart_Lock |
185.88 ns | 173.26 ns | -6.8% |
JSON_Parse_Object_Object_Properties |
6.51 us | 6.04 us | -7.2% |
JSON_PropertySet_Filter_Object_Properties |
41.68 ns | 38.43 ns | -7.8% |
JSON_From_String_Copy |
9.34 ns | 8.60 ns | -7.9% |
JSON_String_Equal_100 |
7.19 ns | 6.51 ns | -9.4% |
JSON_Object_Defines_Miss_Same_Length |
3.55 ns | 3.17 ns | -10.9% |
JSON_String_Equal_10 |
5.84 ns | 5.17 ns | -11.5% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
199.65 us | 175.50 us | -12.1% |
All 115 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Crypto_CRC32_Large_JSONL |
54.47 us | 54.47 us | -0.0% |
Crypto_AES_GCM_Encrypt_128_1KB |
943.31 ns | 945.07 ns | +0.2% |
Crypto_AES_GCM_Decrypt_128_1KB |
951.06 ns | 946.95 ns | -0.4% |
Crypto_AES_GCM_Encrypt_256_1KB |
970.88 ns | 968.01 ns | -0.3% |
JOSE_VerifySignature_RS256 |
22.76 us | 22.71 us | -0.2% |
JOSE_VerifySignature_ES512 |
505.47 us | 505.69 us | +0.0% |
GZIP_Compress_ISO_Language_Set_3_Locations |
30.03 ms | 29.74 ms | -1.0% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4.30 ms | 4.30 ms | -0.1% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
6.11 ms | 6.04 ms | -1.1% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
8.32 ms | 8.28 ms | -0.4% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.22 ms | 2.23 ms | +0.6% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
456.79 us | 444.32 us | -2.7% |
Markdown_To_HTML_Realistic_Document |
4.87 ms | 4.92 ms | +0.9% |
Markdown_To_HTML_Pathological |
14.17 ms | 14.58 ms | +2.9% |
Markdown_To_HTML_Short_Descriptions |
555.10 ns | 565.24 ns | +1.8% |
HTML_Build_Table_100000 |
39.48 ms | 41.53 ms | +5.2% |
HTML_Render_Table_100000 |
3.07 ms | 3.12 ms | +1.7% |
JSONLD_Catalog_Annotation_List_Populate |
778.19 us | 763.97 us | -1.8% |
JSONLD_Catalog_Materialize |
3.36 ms | 3.33 ms | -0.9% |
JSONL_Parse_Large |
10.25 ms | 10.24 ms | -0.1% |
JSONL_Parse_Large_GZIP |
10.64 ms | 10.60 ms | -0.4% |
URITemplateRouter_Create |
17.89 us | 17.62 us | -1.5% |
URITemplateRouter_Match |
164.47 ns | 167.17 ns | +1.6% |
URITemplateRouterView_Restore |
3.59 us | 3.56 us | -0.9% |
URITemplateRouterView_Match |
117.90 ns | 120.57 ns | +2.3% |
URITemplateRouterView_Arguments |
461.96 ns | 459.93 ns | -0.4% |
URITemplateRouter_Match_BasePath |
186.50 ns | 185.03 ns | -0.8% |
URITemplateRouterView_Match_BasePath |
134.12 ns | 136.06 ns | +1.4% |
JSONPath_Descendant_Filter_Nested |
1.74 us | 1.73 us | -0.4% |
OpenAPI_Frame_GSMTasks_3_0 |
139.14 ms | 140.76 ms | +1.2% |
OpenAPI_Format_Synthetic_3_1 |
47.51 ms | 47.21 ms | -0.6% |
Schema_Frame_WoT_References |
2.15 ms | 2.15 ms | +0.2% |
Schema_Frame_OMC_References |
9.40 ms | 9.44 ms | +0.4% |
Schema_Frame_OMC_Pointers |
17.02 ms | 17.02 ms | +0.0% |
Schema_Frame_OMC_Locations |
8.11 ms | 8.15 ms | +0.5% |
Schema_Frame_ISO_Language_Locations |
39.36 ms | 39.14 ms | -0.6% |
Schema_Frame_ISO_Language_Root |
322.22 ns | 314.90 ns | -2.3% |
Schema_Frame_KrakenD_References |
15.19 ms | 14.92 ms | -1.8% |
Schema_Frame_KrakenD_Reachable |
148.88 ms | 149.89 ms | +0.7% |
Schema_Frame_ISO_Language_Locations_To_JSON |
32.40 ms | 34.73 ms | +7.2% |
Schema_Frame_Many_Resources_References |
113.94 ms | 114.37 ms | +0.4% |
Schema_Frame_Deeply_Nested_References |
10.55 ms | 10.65 ms | +1.0% |
Schema_Format_ISO_Language |
44.17 ms | 44.16 ms | -0.0% |
Schema_Bundle_Meta_2020_12 |
601.38 us | 592.72 us | -1.4% |
Schema_Bundle_Many_Remotes_With_Fragments |
6.30 ms | 6.22 ms | -1.2% |
Pointer_Object_Traverse |
21.55 ns | 22.90 ns | +6.3% |
Pointer_Object_Try_Traverse |
26.59 ns | 24.86 ns | -6.5% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
189.98 ns | 209.94 ns | +10.5% |
Pointer_Walker_Schema_ISO_Language |
2.00 ms | 2.00 ms | -0.2% |
Pointer_Untracked_Deeply_Nested |
1.38 ms | 1.36 ms | -1.8% |
Pointer_Tracked_Deeply_Nested |
1.91 ms | 1.95 ms | +2.1% |
Pointer_Position_Tracker_Get_Deeply_Nested |
579.95 ns | 584.66 ns | +0.8% |
Schema_Tracker_ISO_Language |
4.88 ms | 5.18 ms | +6.1% |
Schema_Tracker_ISO_Language_To_JSON |
15.72 ms | 15.86 ms | +0.9% |
JSON_Array_Of_Objects_Unique |
433.45 ns | 460.14 ns | +6.2% |
JSON_Array_Of_Integers_Unique_256 |
4.85 us | 5.02 us | +3.5% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
199.65 us | 175.50 us | -12.1% |
JSON_Parse_1 |
5.13 us | 5.10 us | -0.5% |
JSON_Parse_Real |
4.77 us | 4.64 us | -2.7% |
JSON_Parse_Real_Inexact |
4.61 us | 4.30 us | -6.7% |
JSON_Parse_Decimal |
7.89 us | 7.62 us | -3.5% |
JSON_Parse_Schema_ISO_Language |
3.63 ms | 3.68 ms | +1.4% |
JSON_Parse_KrakenD |
1.58 ms | 1.58 ms | +0.1% |
JSON_Stringify_ISO_Language |
2.17 ms | 2.20 ms | +1.5% |
JSON_Prettify_KrakenD |
1.75 ms | 1.78 ms | +1.5% |
JSON_Parse_Integer |
3.73 us | 3.72 us | -0.2% |
JSON_Parse_String_NonSSO_Plain |
3.60 us | 3.50 us | -2.8% |
JSON_Parse_String_SSO_Plain |
3.02 us | 2.90 us | -3.8% |
JSON_Parse_String_Escape_Heavy |
16.45 us | 16.70 us | +1.5% |
JSON_Parse_Object_Short_Keys |
9.28 us | 9.39 us | +1.2% |
JSON_Parse_Object_Scalar_Properties |
4.69 us | 4.76 us | +1.5% |
JSON_Parse_Object_Array_Properties |
6.47 us | 6.11 us | -5.5% |
JSON_Parse_Object_Object_Properties |
6.51 us | 6.04 us | -7.2% |
JSON_Parse_Nested_Containers |
40.74 us | 38.69 us | -5.1% |
JSON_Fast_Hash_Helm_Chart_Lock |
67.27 ns | 76.48 ns | +13.7% |
JSON_Equality_Helm_Chart_Lock |
185.88 ns | 173.26 ns | -6.8% |
JSON_String_Equal_10 |
5.84 ns | 5.17 ns | -11.5% |
JSON_String_Equal_100 |
7.19 ns | 6.51 ns | -9.4% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
0.97 ns | 0.97 ns | -0.0% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
10.53 ns | 10.42 ns | -1.0% |
JSON_String_Fast_Hash_10 |
3.15 ns | 3.48 ns | +10.5% |
JSON_String_Fast_Hash_100 |
3.15 ns | 3.49 ns | +10.6% |
JSON_String_Key_Hash_10 |
3.23 ns | 3.44 ns | +6.5% |
JSON_String_Key_Hash_100 |
14.11 ns | 15.80 ns | +12.0% |
JSON_Object_Defines_Miss_Same_Length |
3.55 ns | 3.17 ns | -10.9% |
JSON_Object_Defines_Miss_Too_Small |
3.06 ns | 3.00 ns | -2.0% |
JSON_Object_Defines_Miss_Too_Large |
3.03 ns | 3.11 ns | +2.4% |
JSON_From_String_Copy |
9.34 ns | 8.60 ns | -7.9% |
JSON_From_String_Temporary |
6.35 ns | 6.44 ns | +1.5% |
JSON_Number_To_Double |
17.14 ns | 17.15 ns | +0.0% |
JSON_Object_At_Last_Key_8 |
5.67 ns | 6.93 ns | +22.3% |
JSON_Object_At_Last_Key_32 |
13.62 ns | 22.86 ns | +67.8% |
JSON_Object_At_Last_Key_128 |
52.45 ns | 87.31 ns | +66.5% |
JSON_Object_At_Last_Key_512 |
217.24 ns | 355.07 ns | +63.4% |
JSON_Divisible_By_Decimal |
323.96 ns | 332.59 ns | +2.7% |
JSON_PropertySet_Contains |
55.83 ns | 54.11 ns | -3.1% |
JSON_PropertySet_Filter_Object_Properties |
41.68 ns | 38.43 ns | -7.8% |
JSON_PropertySet_Insert |
479.44 ns | 496.81 ns | +3.6% |
JSON_Stringify_Schema_Web_Of_Things |
48.69 us | 50.51 us | +3.7% |
JSON_Prettify_Schema_Web_Of_Things |
137.12 us | 136.17 us | -0.7% |
Regex_Lower_S_Or_Upper_S_Asterisk |
2.60 ns | 2.86 ns | +9.8% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.60 ns | 2.77 ns | +6.6% |
Regex_Period_Asterisk |
2.69 ns | 2.77 ns | +3.1% |
Regex_Group_Period_Asterisk_Group |
2.52 ns | 2.84 ns | +12.9% |
Regex_Period_Plus |
2.61 ns | 2.86 ns | +9.8% |
Regex_Period |
2.59 ns | 2.77 ns | +7.0% |
Regex_Caret_Period_Plus_Dollar |
2.69 ns | 2.77 ns | +3.1% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.52 ns | 2.84 ns | +12.9% |
Regex_Caret_Period_Asterisk_Dollar |
2.60 ns | 2.86 ns | +9.8% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.59 ns | 2.77 ns | +6.8% |
Regex_Caret_X_Hyphen |
6.08 ns | 6.30 ns | +3.7% |
Regex_Period_Md_Dollar |
18.81 ns | 19.13 ns | +1.7% |
Regex_Caret_Slash_Period_Asterisk |
6.19 ns | 6.48 ns | +4.8% |
Regex_Caret_Period_Range_Dollar |
2.93 ns | 3.46 ns | +18.0% |
Regex_Nested_Backtrack |
37.99 ns | 38.38 ns | +1.0% |
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Pointer_Push_Back_Pointer_To_Weak_Pointer |
160.41 ns | 186.84 ns | +16.5% |
JSON_Array_Of_Integers_Unique_256 |
4.46 us | 4.77 us | +6.8% |
Pointer_Tracked_Deeply_Nested |
3.58 ms | 3.81 ms | +6.2% |
URITemplateRouterView_Restore |
32.96 us | 35.00 us | +6.2% |
Markdown_To_HTML_Pathological |
17.33 ms | 18.38 ms | +6.0% |
Pointer_Object_Traverse |
66.67 ns | 70.66 ns | +6.0% |
JSON_Fast_Hash_Helm_Chart_Lock |
101.08 ns | 106.65 ns | +5.5% |
Pointer_Walker_Schema_ISO_Language |
8.46 ms | 8.90 ms | +5.2% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
15.01 ns | 14.21 ns | -5.3% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
15.68 ms | 14.48 ms | -7.7% |
Schema_Frame_Deeply_Nested_References |
23.36 ms | 21.24 ms | -9.1% |
All 115 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
4.70 ns | 4.77 ns | +1.4% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
4.70 ns | 4.84 ns | +3.1% |
Regex_Period_Asterisk |
4.71 ns | 4.75 ns | +0.9% |
Regex_Group_Period_Asterisk_Group |
4.70 ns | 4.87 ns | +3.7% |
Regex_Period_Plus |
4.66 ns | 4.65 ns | -0.3% |
Regex_Period |
4.46 ns | 4.48 ns | +0.5% |
Regex_Caret_Period_Plus_Dollar |
4.66 ns | 4.64 ns | -0.5% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
4.52 ns | 4.46 ns | -1.3% |
Regex_Caret_Period_Asterisk_Dollar |
4.70 ns | 4.71 ns | +0.2% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.70 ns | 4.86 ns | +3.5% |
Regex_Caret_X_Hyphen |
8.17 ns | 7.84 ns | -4.0% |
Regex_Period_Md_Dollar |
46.76 ns | 46.46 ns | -0.6% |
Regex_Caret_Slash_Period_Asterisk |
7.86 ns | 7.61 ns | -3.2% |
Regex_Caret_Period_Range_Dollar |
5.34 ns | 5.33 ns | -0.1% |
Regex_Nested_Backtrack |
58.12 ns | 57.95 ns | -0.3% |
JSON_Array_Of_Objects_Unique |
528.03 ns | 553.64 ns | +4.8% |
JSON_Array_Of_Integers_Unique_256 |
4.46 us | 4.77 us | +6.8% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
300.01 us | 291.56 us | -2.8% |
JSON_Parse_1 |
8.76 us | 8.78 us | +0.3% |
JSON_Parse_Real |
7.58 us | 7.64 us | +0.8% |
JSON_Parse_Real_Inexact |
7.26 us | 7.49 us | +3.1% |
JSON_Parse_Decimal |
12.27 us | 12.47 us | +1.7% |
JSON_Parse_Schema_ISO_Language |
7.78 ms | 7.59 ms | -2.5% |
JSON_Parse_KrakenD |
2.23 ms | 2.22 ms | -0.4% |
JSON_Stringify_ISO_Language |
9.94 ms | 9.99 ms | +0.5% |
JSON_Prettify_KrakenD |
7.47 ms | 7.70 ms | +3.0% |
JSON_Parse_Integer |
6.55 us | 6.67 us | +1.8% |
JSON_Parse_String_NonSSO_Plain |
8.20 us | 8.32 us | +1.5% |
JSON_Parse_String_SSO_Plain |
4.16 us | 4.21 us | +1.1% |
JSON_Parse_String_Escape_Heavy |
22.00 us | 21.70 us | -1.4% |
JSON_Parse_Object_Short_Keys |
13.66 us | 13.65 us | -0.1% |
JSON_Parse_Object_Scalar_Properties |
7.00 us | 7.26 us | +3.6% |
JSON_Parse_Object_Array_Properties |
11.45 us | 11.98 us | +4.6% |
JSON_Parse_Object_Object_Properties |
11.40 us | 11.81 us | +3.7% |
JSON_Parse_Nested_Containers |
79.89 us | 79.78 us | -0.1% |
JSON_Fast_Hash_Helm_Chart_Lock |
101.08 ns | 106.65 ns | +5.5% |
JSON_Equality_Helm_Chart_Lock |
215.69 ns | 208.82 ns | -3.2% |
JSON_String_Equal_10 |
10.34 ns | 10.03 ns | -3.0% |
JSON_String_Equal_100 |
11.61 ns | 11.29 ns | -2.8% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
2.19 ns | 2.19 ns | -0.0% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
15.01 ns | 14.21 ns | -5.3% |
JSON_String_Fast_Hash_10 |
6.29 ns | 6.52 ns | +3.6% |
JSON_String_Fast_Hash_100 |
6.30 ns | 6.57 ns | +4.3% |
JSON_String_Key_Hash_10 |
5.02 ns | 5.03 ns | +0.1% |
JSON_String_Key_Hash_100 |
11.87 ns | 11.88 ns | +0.1% |
JSON_Object_Defines_Miss_Same_Length |
3.45 ns | 3.45 ns | -0.2% |
JSON_Object_Defines_Miss_Too_Small |
4.08 ns | 4.07 ns | -0.1% |
JSON_Object_Defines_Miss_Too_Large |
3.45 ns | 3.45 ns | +0.1% |
JSON_From_String_Copy |
63.81 ns | 64.49 ns | +1.1% |
JSON_From_String_Temporary |
57.53 ns | 59.76 ns | +3.9% |
JSON_Number_To_Double |
40.97 ns | 40.83 ns | -0.4% |
JSON_Object_At_Last_Key_8 |
7.17 ns | 6.99 ns | -2.5% |
JSON_Object_At_Last_Key_32 |
22.90 ns | 22.94 ns | +0.2% |
JSON_Object_At_Last_Key_128 |
89.47 ns | 89.40 ns | -0.1% |
JSON_Object_At_Last_Key_512 |
422.65 ns | 418.77 ns | -0.9% |
JSON_Divisible_By_Decimal |
384.51 ns | 389.03 ns | +1.2% |
JSON_PropertySet_Contains |
79.76 ns | 79.42 ns | -0.4% |
JSON_PropertySet_Filter_Object_Properties |
49.65 ns | 49.44 ns | -0.4% |
JSON_PropertySet_Insert |
1.30 us | 1.31 us | +0.7% |
JSON_Stringify_Schema_Web_Of_Things |
229.69 us | 229.77 us | +0.0% |
JSON_Prettify_Schema_Web_Of_Things |
720.57 us | 718.26 us | -0.3% |
Pointer_Object_Traverse |
66.67 ns | 70.66 ns | +6.0% |
Pointer_Object_Try_Traverse |
70.51 ns | 70.35 ns | -0.2% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
160.41 ns | 186.84 ns | +16.5% |
Pointer_Walker_Schema_ISO_Language |
8.46 ms | 8.90 ms | +5.2% |
Pointer_Untracked_Deeply_Nested |
2.34 ms | 2.38 ms | +1.4% |
Pointer_Tracked_Deeply_Nested |
3.58 ms | 3.81 ms | +6.2% |
Pointer_Position_Tracker_Get_Deeply_Nested |
567.27 ns | 582.99 ns | +2.8% |
Schema_Tracker_ISO_Language |
10.69 ms | 10.65 ms | -0.4% |
Schema_Tracker_ISO_Language_To_JSON |
63.41 ms | 62.95 ms | -0.7% |
Schema_Frame_WoT_References |
5.01 ms | 4.97 ms | -0.8% |
Schema_Frame_OMC_References |
22.88 ms | 21.99 ms | -3.9% |
Schema_Frame_OMC_Pointers |
42.52 ms | 42.01 ms | -1.2% |
Schema_Frame_OMC_Locations |
19.27 ms | 19.54 ms | +1.4% |
Schema_Frame_ISO_Language_Locations |
81.32 ms | 82.94 ms | +2.0% |
Schema_Frame_ISO_Language_Root |
2.33 us | 2.23 us | -4.1% |
Schema_Frame_KrakenD_References |
39.25 ms | 39.29 ms | +0.1% |
Schema_Frame_KrakenD_Reachable |
302.83 ms | 309.55 ms | +2.2% |
Schema_Frame_ISO_Language_Locations_To_JSON |
165.62 ms | 170.02 ms | +2.7% |
Schema_Frame_Many_Resources_References |
366.90 ms | 373.32 ms | +1.8% |
Schema_Frame_Deeply_Nested_References |
23.36 ms | 21.24 ms | -9.1% |
Schema_Format_ISO_Language |
90.55 ms | 91.95 ms | +1.5% |
Schema_Bundle_Meta_2020_12 |
1.46 ms | 1.47 ms | +0.4% |
Schema_Bundle_Many_Remotes_With_Fragments |
29.36 ms | 29.57 ms | +0.7% |
OpenAPI_Frame_GSMTasks_3_0 |
393.37 ms | 379.40 ms | -3.6% |
OpenAPI_Format_Synthetic_3_1 |
133.56 ms | 132.53 ms | -0.8% |
JSONPath_Descendant_Filter_Nested |
2.92 us | 2.91 us | -0.3% |
URITemplateRouter_Create |
39.14 us | 39.08 us | -0.1% |
URITemplateRouter_Match |
232.32 ns | 236.22 ns | +1.7% |
URITemplateRouterView_Restore |
32.96 us | 35.00 us | +6.2% |
URITemplateRouterView_Match |
213.25 ns | 220.90 ns | +3.6% |
URITemplateRouterView_Arguments |
539.10 ns | 542.50 ns | +0.6% |
URITemplateRouter_Match_BasePath |
263.51 ns | 269.80 ns | +2.4% |
URITemplateRouterView_Match_BasePath |
242.72 ns | 247.69 ns | +2.0% |
JSONL_Parse_Large |
33.32 ms | 33.31 ms | -0.0% |
JSONL_Parse_Large_GZIP |
32.04 ms | 32.18 ms | +0.5% |
JSONLD_Catalog_Annotation_List_Populate |
2.97 ms | 2.98 ms | +0.2% |
JSONLD_Catalog_Materialize |
8.00 ms | 8.34 ms | +4.2% |
HTML_Build_Table_100000 |
67.21 ms | 67.77 ms | +0.8% |
HTML_Render_Table_100000 |
7.89 ms | 7.92 ms | +0.4% |
Markdown_To_HTML_Realistic_Document |
5.62 ms | 5.59 ms | -0.5% |
Markdown_To_HTML_Pathological |
17.33 ms | 18.38 ms | +6.0% |
Markdown_To_HTML_Short_Descriptions |
730.59 ns | 700.42 ns | -4.1% |
GZIP_Compress_ISO_Language_Set_3_Locations |
37.58 ms | 37.26 ms | -0.9% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
9.64 ms | 9.62 ms | -0.1% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
11.87 ms | 11.77 ms | -0.8% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
15.68 ms | 14.48 ms | -7.7% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.29 ms | 2.30 ms | +0.5% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
648.55 us | 634.67 us | -2.1% |
JOSE_VerifySignature_RS256 |
21.30 us | 21.33 us | +0.1% |
JOSE_VerifySignature_ES512 |
1.37 ms | 1.36 ms | -0.3% |
Crypto_CRC32_Large_JSONL |
102.96 us | 102.86 us | -0.1% |
Crypto_AES_GCM_Encrypt_128_1KB |
2.34 us | 2.36 us | +0.7% |
Crypto_AES_GCM_Decrypt_128_1KB |
2.39 us | 2.37 us | -0.6% |
Crypto_AES_GCM_Encrypt_256_1KB |
2.42 us | 2.45 us | +1.0% |
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Crypto_AES_GCM_Encrypt_256_1KB |
3.93 us | 5.14 us | +30.8% |
JSON_String_Equal_100 |
7.23 ns | 9.33 ns | +28.9% |
JSON_String_Fast_Hash_100 |
2.60 ns | 3.31 ns | +27.3% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
181.23 us | 230.62 us | +27.2% |
JSON_String_Key_Hash_100 |
2.81 ns | 3.53 ns | +25.8% |
JSON_Parse_Real_Inexact |
4.37 us | 5.22 us | +19.5% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
0.37 ns | 0.44 ns | +19.5% |
JSON_String_Key_Hash_10 |
2.28 ns | 2.71 ns | +18.9% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
4.03 ns | 4.69 ns | +16.5% |
JSON_String_Equal_10 |
7.97 ns | 9.02 ns | +13.2% |
Crypto_CRC32_Large_JSONL |
27.15 us | 29.91 us | +10.2% |
OpenAPI_Frame_GSMTasks_3_0 |
158.14 ms | 168.84 ms | +6.8% |
JSON_Array_Of_Integers_Unique_256 |
5.69 us | 6.01 us | +5.6% |
JSON_Parse_String_Escape_Heavy |
20.25 us | 19.09 us | -5.7% |
JSON_Object_Defines_Miss_Too_Small |
3.64 ns | 3.43 ns | -5.8% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
5.55 ms | 5.19 ms | -6.5% |
JSON_From_String_Copy |
14.50 ns | 13.53 ns | -6.7% |
Pointer_Walker_Schema_ISO_Language |
1.84 ms | 1.72 ms | -6.9% |
JSON_PropertySet_Contains |
59.81 ns | 55.14 ns | -7.8% |
JSON_Parse_Object_Array_Properties |
4.81 us | 4.42 us | -8.2% |
JSON_Parse_Object_Short_Keys |
6.28 us | 5.69 us | -9.4% |
Markdown_To_HTML_Realistic_Document |
3.81 ms | 3.42 ms | -10.1% |
Regex_Caret_Slash_Period_Asterisk |
6.51 ns | 5.84 ns | -10.3% |
Regex_Nested_Backtrack |
40.41 ns | 36.15 ns | -10.6% |
Regex_Caret_X_Hyphen |
8.00 ns | 7.15 ns | -10.6% |
JSON_Divisible_By_Decimal |
289.32 ns | 256.08 ns | -11.5% |
Markdown_To_HTML_Pathological |
11.69 ms | 10.35 ms | -11.5% |
OpenAPI_Format_Synthetic_3_1 |
49.39 ms | 43.57 ms | -11.8% |
Pointer_Object_Try_Traverse |
42.83 ns | 37.56 ns | -12.3% |
JSONPath_Descendant_Filter_Nested |
1.49 us | 1.29 us | -13.2% |
HTML_Build_Table_100000 |
32.91 ms | 28.43 ms | -13.6% |
JSON_Parse_String_NonSSO_Plain |
4.02 us | 3.47 us | -13.7% |
JSON_Parse_Real |
4.32 us | 3.72 us | -13.8% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
380.08 us | 325.51 us | -14.4% |
URITemplateRouterView_Arguments |
599.35 ns | 511.02 ns | -14.7% |
Crypto_AES_GCM_Encrypt_128_1KB |
4.43 us | 3.77 us | -14.8% |
URITemplateRouter_Create |
20.68 us | 17.51 us | -15.3% |
Regex_Lower_S_Or_Upper_S_Asterisk |
2.61 ns | 2.21 ns | -15.4% |
URITemplateRouterView_Match |
139.85 ns | 118.24 ns | -15.5% |
JSON_Parse_String_SSO_Plain |
2.25 us | 1.90 us | -15.6% |
JSON_Parse_Decimal |
7.89 us | 6.59 us | -16.5% |
JSON_Object_At_Last_Key_32 |
16.61 ns | 13.83 ns | -16.7% |
Schema_Frame_Deeply_Nested_References |
15.03 ms | 12.40 ms | -17.5% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
3.92 ms | 3.22 ms | -17.7% |
Schema_Format_ISO_Language |
28.85 ms | 23.72 ms | -17.8% |
JOSE_VerifySignature_ES512 |
1.35 ms | 1.11 ms | -18.0% |
JSON_Object_At_Last_Key_128 |
75.06 ns | 61.42 ns | -18.2% |
Schema_Bundle_Many_Remotes_With_Fragments |
7.16 ms | 5.85 ms | -18.2% |
JSON_Number_To_Double |
12.85 ns | 10.45 ns | -18.7% |
GZIP_Compress_ISO_Language_Set_3_Locations |
37.47 ms | 30.41 ms | -18.8% |
JSON_Prettify_Schema_Web_Of_Things |
203.71 us | 164.06 us | -19.5% |
JSON_Parse_Integer |
3.71 us | 2.98 us | -19.7% |
Regex_Period_Asterisk |
2.50 ns | 1.99 ns | -20.2% |
JSON_Parse_1 |
4.21 us | 3.33 us | -21.0% |
JOSE_VerifySignature_RS256 |
31.31 us | 24.72 us | -21.1% |
Pointer_Object_Traverse |
25.30 ns | 19.95 ns | -21.1% |
Schema_Frame_Many_Resources_References |
104.61 ms | 82.31 ms | -21.3% |
JSON_Parse_Object_Scalar_Properties |
3.65 us | 2.87 us | -21.4% |
JSON_Stringify_ISO_Language |
3.54 ms | 2.78 ms | -21.5% |
JSON_Object_At_Last_Key_512 |
258.65 ns | 201.22 ns | -22.2% |
URITemplateRouter_Match_BasePath |
241.31 ns | 184.53 ns | -23.5% |
URITemplateRouterView_Restore |
12.38 us | 9.45 us | -23.7% |
Regex_Period_Plus |
2.53 ns | 1.93 ns | -23.8% |
JSON_Stringify_Schema_Web_Of_Things |
86.92 us | 66.07 us | -24.0% |
JSON_Object_At_Last_Key_8 |
5.63 ns | 4.28 ns | -24.0% |
Markdown_To_HTML_Short_Descriptions |
457.03 ns | 346.31 ns | -24.2% |
Schema_Frame_OMC_Locations |
10.10 ms | 7.63 ms | -24.5% |
Regex_Caret_Period_Range_Dollar |
3.22 ns | 2.43 ns | -24.6% |
URITemplateRouter_Match |
210.34 ns | 157.30 ns | -25.2% |
JSON_PropertySet_Filter_Object_Properties |
55.69 ns | 41.49 ns | -25.5% |
URITemplateRouterView_Match_BasePath |
185.55 ns | 137.86 ns | -25.7% |
Schema_Frame_KrakenD_Reachable |
218.90 ms | 161.43 ms | -26.3% |
Regex_Period |
2.76 ns | 2.03 ns | -26.4% |
Regex_Caret_Period_Asterisk_Dollar |
2.57 ns | 1.88 ns | -26.8% |
JSON_PropertySet_Insert |
464.71 ns | 338.44 ns | -27.2% |
HTML_Render_Table_100000 |
2.06 ms | 1.50 ms | -27.4% |
JSON_From_String_Temporary |
9.54 ns | 6.92 ns | -27.4% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
8.00 ms | 5.74 ms | -28.2% |
Pointer_Untracked_Deeply_Nested |
1.17 ms | 834.35 us | -29.0% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.60 ms | 1.83 ms | -29.6% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.82 ns | 1.99 ns | -29.7% |
JSONLD_Catalog_Annotation_List_Populate |
699.13 us | 491.48 us | -29.7% |
Regex_Group_Period_Asterisk_Group |
2.74 ns | 1.87 ns | -31.6% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.76 ns | 1.85 ns | -32.7% |
JSONLD_Catalog_Materialize |
3.38 ms | 2.18 ms | -35.5% |
Regex_Period_Md_Dollar |
29.53 ns | 18.88 ns | -36.1% |
JSONL_Parse_Large |
8.96 ms | 5.71 ms | -36.3% |
JSONL_Parse_Large_GZIP |
9.53 ms | 6.05 ms | -36.6% |
Pointer_Position_Tracker_Get_Deeply_Nested |
496.16 ns | 313.34 ns | -36.8% |
Schema_Frame_OMC_Pointers |
28.38 ms | 17.80 ms | -37.3% |
JSON_Prettify_KrakenD |
3.25 ms | 1.98 ms | -39.1% |
Schema_Frame_ISO_Language_Locations |
39.02 ms | 23.26 ms | -40.4% |
Pointer_Tracked_Deeply_Nested |
1.68 ms | 969.11 us | -42.2% |
Schema_Frame_KrakenD_References |
21.31 ms | 12.27 ms | -42.4% |
Schema_Tracker_ISO_Language_To_JSON |
17.29 ms | 9.83 ms | -43.1% |
Schema_Tracker_ISO_Language |
5.47 ms | 3.10 ms | -43.3% |
Schema_Frame_ISO_Language_Locations_To_JSON |
37.61 ms | 20.01 ms | -46.8% |
Schema_Frame_WoT_References |
3.81 ms | 1.92 ms | -49.5% |
Schema_Frame_ISO_Language_Root |
237.93 ns | 117.89 ns | -50.5% |
Schema_Frame_OMC_References |
18.50 ms | 8.34 ms | -54.9% |
All 115 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.61 ns | 2.21 ns | -15.4% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.35 ns | 2.35 ns | -0.3% |
Regex_Period_Asterisk |
2.50 ns | 1.99 ns | -20.2% |
Regex_Group_Period_Asterisk_Group |
2.74 ns | 1.87 ns | -31.6% |
Regex_Period_Plus |
2.53 ns | 1.93 ns | -23.8% |
Regex_Period |
2.76 ns | 2.03 ns | -26.4% |
Regex_Caret_Period_Plus_Dollar |
3.04 ns | 3.00 ns | -1.3% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.82 ns | 1.99 ns | -29.7% |
Regex_Caret_Period_Asterisk_Dollar |
2.57 ns | 1.88 ns | -26.8% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.76 ns | 1.85 ns | -32.7% |
Regex_Caret_X_Hyphen |
8.00 ns | 7.15 ns | -10.6% |
Regex_Period_Md_Dollar |
29.53 ns | 18.88 ns | -36.1% |
Regex_Caret_Slash_Period_Asterisk |
6.51 ns | 5.84 ns | -10.3% |
Regex_Caret_Period_Range_Dollar |
3.22 ns | 2.43 ns | -24.6% |
Regex_Nested_Backtrack |
40.41 ns | 36.15 ns | -10.6% |
JSON_Array_Of_Objects_Unique |
489.43 ns | 492.79 ns | +0.7% |
JSON_Array_Of_Integers_Unique_256 |
5.69 us | 6.01 us | +5.6% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
181.23 us | 230.62 us | +27.2% |
JSON_Parse_1 |
4.21 us | 3.33 us | -21.0% |
JSON_Parse_Real |
4.32 us | 3.72 us | -13.8% |
JSON_Parse_Real_Inexact |
4.37 us | 5.22 us | +19.5% |
JSON_Parse_Decimal |
7.89 us | 6.59 us | -16.5% |
JSON_Parse_Schema_ISO_Language |
2.71 ms | 2.74 ms | +1.2% |
JSON_Parse_KrakenD |
950.93 us | 995.26 us | +4.7% |
JSON_Stringify_ISO_Language |
3.54 ms | 2.78 ms | -21.5% |
JSON_Prettify_KrakenD |
3.25 ms | 1.98 ms | -39.1% |
JSON_Parse_Integer |
3.71 us | 2.98 us | -19.7% |
JSON_Parse_String_NonSSO_Plain |
4.02 us | 3.47 us | -13.7% |
JSON_Parse_String_SSO_Plain |
2.25 us | 1.90 us | -15.6% |
JSON_Parse_String_Escape_Heavy |
20.25 us | 19.09 us | -5.7% |
JSON_Parse_Object_Short_Keys |
6.28 us | 5.69 us | -9.4% |
JSON_Parse_Object_Scalar_Properties |
3.65 us | 2.87 us | -21.4% |
JSON_Parse_Object_Array_Properties |
4.81 us | 4.42 us | -8.2% |
JSON_Parse_Object_Object_Properties |
4.79 us | 4.78 us | -0.3% |
JSON_Parse_Nested_Containers |
32.97 us | 33.04 us | +0.2% |
JSON_Fast_Hash_Helm_Chart_Lock |
90.10 ns | 88.07 ns | -2.2% |
JSON_Equality_Helm_Chart_Lock |
188.06 ns | 194.46 ns | +3.4% |
JSON_String_Equal_10 |
7.97 ns | 9.02 ns | +13.2% |
JSON_String_Equal_100 |
7.23 ns | 9.33 ns | +28.9% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
0.37 ns | 0.44 ns | +19.5% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
4.03 ns | 4.69 ns | +16.5% |
JSON_String_Fast_Hash_10 |
3.04 ns | 3.13 ns | +2.8% |
JSON_String_Fast_Hash_100 |
2.60 ns | 3.31 ns | +27.3% |
JSON_String_Key_Hash_10 |
2.28 ns | 2.71 ns | +18.9% |
JSON_String_Key_Hash_100 |
2.81 ns | 3.53 ns | +25.8% |
JSON_Object_Defines_Miss_Same_Length |
3.63 ns | 3.50 ns | -3.6% |
JSON_Object_Defines_Miss_Too_Small |
3.64 ns | 3.43 ns | -5.8% |
JSON_Object_Defines_Miss_Too_Large |
3.62 ns | 3.53 ns | -2.6% |
JSON_From_String_Copy |
14.50 ns | 13.53 ns | -6.7% |
JSON_From_String_Temporary |
9.54 ns | 6.92 ns | -27.4% |
JSON_Number_To_Double |
12.85 ns | 10.45 ns | -18.7% |
JSON_Object_At_Last_Key_8 |
5.63 ns | 4.28 ns | -24.0% |
JSON_Object_At_Last_Key_32 |
16.61 ns | 13.83 ns | -16.7% |
JSON_Object_At_Last_Key_128 |
75.06 ns | 61.42 ns | -18.2% |
JSON_Object_At_Last_Key_512 |
258.65 ns | 201.22 ns | -22.2% |
JSON_Divisible_By_Decimal |
289.32 ns | 256.08 ns | -11.5% |
JSON_PropertySet_Contains |
59.81 ns | 55.14 ns | -7.8% |
JSON_PropertySet_Filter_Object_Properties |
55.69 ns | 41.49 ns | -25.5% |
JSON_PropertySet_Insert |
464.71 ns | 338.44 ns | -27.2% |
JSON_Stringify_Schema_Web_Of_Things |
86.92 us | 66.07 us | -24.0% |
JSON_Prettify_Schema_Web_Of_Things |
203.71 us | 164.06 us | -19.5% |
Pointer_Object_Traverse |
25.30 ns | 19.95 ns | -21.1% |
Pointer_Object_Try_Traverse |
42.83 ns | 37.56 ns | -12.3% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
180.43 ns | 179.17 ns | -0.7% |
Pointer_Walker_Schema_ISO_Language |
1.84 ms | 1.72 ms | -6.9% |
Pointer_Untracked_Deeply_Nested |
1.17 ms | 834.35 us | -29.0% |
Pointer_Tracked_Deeply_Nested |
1.68 ms | 969.11 us | -42.2% |
Pointer_Position_Tracker_Get_Deeply_Nested |
496.16 ns | 313.34 ns | -36.8% |
Schema_Tracker_ISO_Language |
5.47 ms | 3.10 ms | -43.3% |
Schema_Tracker_ISO_Language_To_JSON |
17.29 ms | 9.83 ms | -43.1% |
Schema_Frame_WoT_References |
3.81 ms | 1.92 ms | -49.5% |
Schema_Frame_OMC_References |
18.50 ms | 8.34 ms | -54.9% |
Schema_Frame_OMC_Pointers |
28.38 ms | 17.80 ms | -37.3% |
Schema_Frame_OMC_Locations |
10.10 ms | 7.63 ms | -24.5% |
Schema_Frame_ISO_Language_Locations |
39.02 ms | 23.26 ms | -40.4% |
Schema_Frame_ISO_Language_Root |
237.93 ns | 117.89 ns | -50.5% |
Schema_Frame_KrakenD_References |
21.31 ms | 12.27 ms | -42.4% |
Schema_Frame_KrakenD_Reachable |
218.90 ms | 161.43 ms | -26.3% |
Schema_Frame_ISO_Language_Locations_To_JSON |
37.61 ms | 20.01 ms | -46.8% |
Schema_Frame_Many_Resources_References |
104.61 ms | 82.31 ms | -21.3% |
Schema_Frame_Deeply_Nested_References |
15.03 ms | 12.40 ms | -17.5% |
Schema_Format_ISO_Language |
28.85 ms | 23.72 ms | -17.8% |
Schema_Bundle_Meta_2020_12 |
511.99 us | 525.38 us | +2.6% |
Schema_Bundle_Many_Remotes_With_Fragments |
7.16 ms | 5.85 ms | -18.2% |
OpenAPI_Frame_GSMTasks_3_0 |
158.14 ms | 168.84 ms | +6.8% |
OpenAPI_Format_Synthetic_3_1 |
49.39 ms | 43.57 ms | -11.8% |
JSONPath_Descendant_Filter_Nested |
1.49 us | 1.29 us | -13.2% |
URITemplateRouter_Create |
20.68 us | 17.51 us | -15.3% |
URITemplateRouter_Match |
210.34 ns | 157.30 ns | -25.2% |
URITemplateRouterView_Restore |
12.38 us | 9.45 us | -23.7% |
URITemplateRouterView_Match |
139.85 ns | 118.24 ns | -15.5% |
URITemplateRouterView_Arguments |
599.35 ns | 511.02 ns | -14.7% |
URITemplateRouter_Match_BasePath |
241.31 ns | 184.53 ns | -23.5% |
URITemplateRouterView_Match_BasePath |
185.55 ns | 137.86 ns | -25.7% |
JSONL_Parse_Large |
8.96 ms | 5.71 ms | -36.3% |
JSONL_Parse_Large_GZIP |
9.53 ms | 6.05 ms | -36.6% |
JSONLD_Catalog_Annotation_List_Populate |
699.13 us | 491.48 us | -29.7% |
JSONLD_Catalog_Materialize |
3.38 ms | 2.18 ms | -35.5% |
HTML_Build_Table_100000 |
32.91 ms | 28.43 ms | -13.6% |
HTML_Render_Table_100000 |
2.06 ms | 1.50 ms | -27.4% |
Markdown_To_HTML_Realistic_Document |
3.81 ms | 3.42 ms | -10.1% |
Markdown_To_HTML_Pathological |
11.69 ms | 10.35 ms | -11.5% |
Markdown_To_HTML_Short_Descriptions |
457.03 ns | 346.31 ns | -24.2% |
GZIP_Compress_ISO_Language_Set_3_Locations |
37.47 ms | 30.41 ms | -18.8% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
3.92 ms | 3.22 ms | -17.7% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
5.55 ms | 5.19 ms | -6.5% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
8.00 ms | 5.74 ms | -28.2% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.60 ms | 1.83 ms | -29.6% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
380.08 us | 325.51 us | -14.4% |
JOSE_VerifySignature_RS256 |
31.31 us | 24.72 us | -21.1% |
JOSE_VerifySignature_ES512 |
1.35 ms | 1.11 ms | -18.0% |
Crypto_CRC32_Large_JSONL |
27.15 us | 29.91 us | +10.2% |
Crypto_AES_GCM_Encrypt_128_1KB |
4.43 us | 3.77 us | -14.8% |
Crypto_AES_GCM_Decrypt_128_1KB |
4.17 us | 4.21 us | +1.0% |
Crypto_AES_GCM_Encrypt_256_1KB |
3.93 us | 5.14 us | +30.8% |
There was a problem hiding this comment.
All reported issues were addressed across 13 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
Signed-off-by: Juan Cruz Viotti jv@jviotti.com