Repository navigation
Introduce a vocabulary for the OpenAPI v3.0 Schema Object dialect - #2931
Conversation
Signed-off-by: Juan Cruz Viotti <[email protected]>
🤖 Augment PR SummaryIntroduces 🤖 Was this summary useful? React with 👍 or 👎 |
| // superset of Draft 4, so it stands on its own rather than extending it | ||
| if (dialect == "tag:spec.openapis.org,2024-10-18:oas/3.0/dialect" || | ||
| dialect == "tag:spec.openapis.org,2021-09-28:oas/3.0/dialect") { | ||
| return SchemaVocabularies::Known::OPENAPI_3_0_BASE; |
There was a problem hiding this comment.
At src/core/jsonschema/jsonschema.cc:513, returning only OPENAPI_3_0_BASE makes every keyword Unknown because schema_walker() has no variants for this vocabulary (src/core/jsonschema/known_walker.cc:5086–5114). Could you check this regression: a SchemaFrame in Mode::References for {"properties":{"child":{"$ref":"https://example.com/child"}}} with either OpenAPI 3.0 dialect now skips /properties/child and its external reference, incorrectly reporting standalone() == true?
Severity: high
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
2 issues found across 4 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="src/core/jsonschema/vocabularies.cc">
<violation number="1" location="src/core/jsonschema/vocabularies.cc:76">
P2: This gives a Sourcemeta-invented vocabulary an identifier under OpenAPI’s `spec.openapis.org` tag authority. Use a Sourcemeta-owned tag URI and update its references to avoid claiming or colliding with OAI’s namespace.</violation>
</file>
<file name="src/core/jsonschema/jsonschema.cc">
<violation number="1" location="src/core/jsonschema/jsonschema.cc:513">
P1: Add `OPENAPI_3_0_BASE` handling to `schema_walker()` for OpenAPI 3.0 schema keywords; otherwise `properties` is treated as unknown and nested external references are skipped.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| // superset of Draft 4, so it stands on its own rather than extending it | ||
| if (dialect == "tag:spec.openapis.org,2024-10-18:oas/3.0/dialect" || | ||
| dialect == "tag:spec.openapis.org,2021-09-28:oas/3.0/dialect") { | ||
| return SchemaVocabularies::Known::OPENAPI_3_0_BASE; |
There was a problem hiding this comment.
P1: Add OPENAPI_3_0_BASE handling to schema_walker() for OpenAPI 3.0 schema keywords; otherwise properties is treated as unknown and nested external references are skipped.
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/jsonschema/jsonschema.cc, line 513:
<comment>Add `OPENAPI_3_0_BASE` handling to `schema_walker()` for OpenAPI 3.0 schema keywords; otherwise `properties` is treated as unknown and nested external references are skipped.</comment>
<file context>
@@ -503,6 +503,16 @@ auto pre_vocabulary_dialect_to_known(const std::string_view dialect)
+ // superset of Draft 4, so it stands on its own rather than extending it
+ if (dialect == "tag:spec.openapis.org,2024-10-18:oas/3.0/dialect" ||
+ dialect == "tag:spec.openapis.org,2021-09-28:oas/3.0/dialect") {
+ return SchemaVocabularies::Known::OPENAPI_3_0_BASE;
+ }
+
</file context>
| /* Every published release of the v3.0 document schema carries the same \ | ||
| Schema Object definition, so one vocabulary serves them all, and its \ | ||
| date is that of the specification rather than of any one release */ \ | ||
| X(OPENAPI_3_0_BASE, "tag:spec.openapis.org,2017:oas/3.0/vocab/base") \ |
There was a problem hiding this comment.
P2: This gives a Sourcemeta-invented vocabulary an identifier under OpenAPI’s spec.openapis.org tag authority. Use a Sourcemeta-owned tag URI and update its references to avoid claiming or colliding with OAI’s namespace.
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/jsonschema/vocabularies.cc, line 76:
<comment>This gives a Sourcemeta-invented vocabulary an identifier under OpenAPI’s `spec.openapis.org` tag authority. Use a Sourcemeta-owned tag URI and update its references to avoid claiming or colliding with OAI’s namespace.</comment>
<file context>
@@ -70,6 +70,10 @@
+ /* Every published release of the v3.0 document schema carries the same \
+ Schema Object definition, so one vocabulary serves them all, and its \
+ date is that of the specification rather than of any one release */ \
+ X(OPENAPI_3_0_BASE, "tag:spec.openapis.org,2017:oas/3.0/vocab/base") \
/* Sourcemeta vocabularies */ \
X(SOURCEMETA_EXTENSION_V1, "tag:sourcemeta.com,2026:extension/v1")
</file context>
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
JSON_Array_Of_Strings_Unique_Colliding_256 |
216.15 us | 256.67 us | +18.7% |
Regex_Caret_Slash_Period_Asterisk |
6.85 ns | 7.78 ns | +13.6% |
JSON_Parse_String_Escape_Heavy |
12.29 us | 13.92 us | +13.2% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
167.99 ns | 184.00 ns | +9.5% |
JSONLD_Catalog_Materialize |
3.84 ms | 4.04 ms | +5.4% |
JSON_Parse_Integer |
3.89 us | 3.68 us | -5.3% |
URITemplateRouter_Match_BasePath |
205.76 ns | 194.51 ns | -5.5% |
Pointer_Walker_Schema_ISO_Language |
1.69 ms | 1.59 ms | -5.8% |
JSON_Array_Of_Objects_Unique |
449.75 ns | 422.29 ns | -6.1% |
All 110 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.80 ns | 2.80 ns | -0.1% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.80 ns | 2.80 ns | -0.1% |
Regex_Period_Asterisk |
2.49 ns | 2.49 ns | +0.1% |
Regex_Group_Period_Asterisk_Group |
2.49 ns | 2.49 ns | +0.1% |
Regex_Period_Plus |
3.43 ns | 3.43 ns | -0.1% |
Regex_Period |
3.43 ns | 3.42 ns | -0.2% |
Regex_Caret_Period_Plus_Dollar |
3.11 ns | 3.11 ns | +0.1% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.11 ns | 3.11 ns | -0.0% |
Regex_Caret_Period_Asterisk_Dollar |
4.04 ns | 4.05 ns | +0.1% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.04 ns | 4.05 ns | +0.1% |
Regex_Caret_X_Hyphen |
7.16 ns | 7.16 ns | +0.0% |
Regex_Period_Md_Dollar |
27.19 ns | 27.15 ns | -0.1% |
Regex_Caret_Slash_Period_Asterisk |
6.85 ns | 7.78 ns | +13.6% |
Regex_Caret_Period_Range_Dollar |
4.67 ns | 4.66 ns | -0.1% |
Regex_Nested_Backtrack |
39.15 ns | 39.21 ns | +0.1% |
JSON_Array_Of_Objects_Unique |
449.75 ns | 422.29 ns | -6.1% |
JSON_Array_Of_Integers_Unique_256 |
5.12 us | 4.93 us | -3.7% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
216.15 us | 256.67 us | +18.7% |
JSON_Parse_1 |
4.65 us | 4.52 us | -2.7% |
JSON_Parse_Real |
4.78 us | 4.71 us | -1.5% |
JSON_Parse_Decimal |
7.50 us | 7.37 us | -1.7% |
JSON_Parse_Schema_ISO_Language |
3.36 ms | 3.34 ms | -0.7% |
JSON_Parse_Integer |
3.89 us | 3.68 us | -5.3% |
JSON_Parse_String_NonSSO_Plain |
3.21 us | 3.16 us | -1.5% |
JSON_Parse_String_SSO_Plain |
2.81 us | 2.74 us | -2.6% |
JSON_Parse_String_Escape_Heavy |
12.29 us | 13.92 us | +13.2% |
JSON_Parse_Object_Short_Keys |
7.96 us | 7.90 us | -0.8% |
JSON_Parse_Object_Scalar_Properties |
4.07 us | 4.03 us | -0.9% |
JSON_Parse_Object_Array_Properties |
5.57 us | 5.51 us | -1.1% |
JSON_Parse_Object_Object_Properties |
5.57 us | 5.46 us | -1.9% |
JSON_Parse_Nested_Containers |
35.50 us | 35.28 us | -0.6% |
JSON_Fast_Hash_Helm_Chart_Lock |
66.01 ns | 65.94 ns | -0.1% |
JSON_Equality_Helm_Chart_Lock |
156.57 ns | 154.87 ns | -1.1% |
JSON_String_Equal_10 |
6.54 ns | 6.85 ns | +4.7% |
JSON_String_Equal_100 |
7.16 ns | 7.47 ns | +4.4% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
0.93 ns | 0.93 ns | +0.0% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
14.93 ns | 14.93 ns | -0.0% |
JSON_String_Fast_Hash_10 |
2.80 ns | 2.80 ns | -0.1% |
JSON_String_Fast_Hash_100 |
2.80 ns | 2.80 ns | +0.0% |
JSON_String_Key_Hash_10 |
2.57 ns | 2.58 ns | +0.5% |
JSON_String_Key_Hash_100 |
9.03 ns | 9.05 ns | +0.3% |
JSON_Object_Defines_Miss_Same_Length |
3.42 ns | 3.42 ns | -0.0% |
JSON_Object_Defines_Miss_Too_Small |
2.97 ns | 3.00 ns | +0.8% |
JSON_Object_Defines_Miss_Too_Large |
2.71 ns | 2.78 ns | +2.6% |
JSON_From_String_Copy |
11.03 ns | 11.29 ns | +2.3% |
JSON_From_String_Temporary |
10.16 ns | 10.42 ns | +2.5% |
JSON_Number_To_Double |
14.95 ns | 14.97 ns | +0.1% |
JSON_Object_At_Last_Key_8 |
3.83 ns | 3.82 ns | -0.2% |
JSON_Object_At_Last_Key_32 |
12.30 ns | 12.31 ns | +0.0% |
JSON_Object_At_Last_Key_128 |
87.43 ns | 87.44 ns | +0.0% |
JSON_Object_At_Last_Key_512 |
391.45 ns | 389.32 ns | -0.5% |
JSON_Divisible_By_Decimal |
469.45 ns | 473.69 ns | +0.9% |
JSON_PropertySet_Contains |
53.27 ns | 53.45 ns | +0.3% |
JSON_PropertySet_Filter_Object_Properties |
39.74 ns | 39.97 ns | +0.6% |
JSON_PropertySet_Insert |
561.41 ns | 580.91 ns | +3.5% |
JSON_Stringify_Schema_Web_Of_Things |
64.74 us | 64.46 us | -0.4% |
JSON_Prettify_Schema_Web_Of_Things |
179.39 us | 186.02 us | +3.7% |
Pointer_Object_Traverse |
28.44 ns | 28.34 ns | -0.4% |
Pointer_Object_Try_Traverse |
33.62 ns | 33.67 ns | +0.1% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
167.99 ns | 184.00 ns | +9.5% |
Pointer_Walker_Schema_ISO_Language |
1.69 ms | 1.59 ms | -5.8% |
Pointer_Untracked_Deeply_Nested |
1.23 ms | 1.22 ms | -0.7% |
Pointer_Tracked_Deeply_Nested |
1.60 ms | 1.58 ms | -1.1% |
Pointer_Position_Tracker_Get_Deeply_Nested |
606.46 ns | 636.12 ns | +4.9% |
Schema_Tracker_ISO_Language |
4.55 ms | 4.48 ms | -1.4% |
Schema_Tracker_ISO_Language_To_JSON |
16.52 ms | 16.81 ms | +1.8% |
Schema_Frame_WoT_References |
2.06 ms | 2.05 ms | -0.4% |
Schema_Frame_OMC_References |
9.72 ms | 9.89 ms | +1.8% |
Schema_Frame_OMC_Pointers |
18.68 ms | 18.42 ms | -1.3% |
Schema_Frame_OMC_Locations |
8.63 ms | 8.67 ms | +0.4% |
Schema_Frame_ISO_Language_Locations |
42.08 ms | 41.77 ms | -0.7% |
Schema_Frame_ISO_Language_Root |
285.00 ns | 281.36 ns | -1.3% |
Schema_Frame_KrakenD_References |
17.66 ms | 17.02 ms | -3.7% |
Schema_Frame_KrakenD_Reachable |
158.77 ms | 158.24 ms | -0.3% |
Schema_Frame_ISO_Language_Locations_To_JSON |
32.05 ms | 32.70 ms | +2.0% |
Schema_Frame_Many_Resources_References |
139.52 ms | 138.84 ms | -0.5% |
Schema_Frame_Deeply_Nested_References |
11.84 ms | 11.32 ms | -4.4% |
Schema_Format_ISO_Language |
48.17 ms | 47.93 ms | -0.5% |
Schema_Bundle_Meta_2020_12 |
570.87 us | 569.25 us | -0.3% |
Schema_Bundle_Many_Remotes_With_Fragments |
6.65 ms | 6.58 ms | -1.2% |
OpenAPI_Format_Synthetic_3_1 |
52.83 ms | 52.45 ms | -0.7% |
JSONPath_Descendant_Filter_Nested |
1.50 us | 1.55 us | +3.2% |
URITemplateRouter_Create |
23.59 us | 23.67 us | +0.4% |
URITemplateRouter_Match |
178.33 ns | 170.77 ns | -4.2% |
URITemplateRouterView_Restore |
8.60 us | 8.53 us | -0.8% |
URITemplateRouterView_Match |
145.85 ns | 138.86 ns | -4.8% |
URITemplateRouterView_Arguments |
441.26 ns | 439.93 ns | -0.3% |
URITemplateRouter_Match_BasePath |
205.76 ns | 194.51 ns | -5.5% |
URITemplateRouterView_Match_BasePath |
168.36 ns | 161.37 ns | -4.2% |
JSONL_Parse_Large |
9.02 ms | 8.96 ms | -0.6% |
JSONL_Parse_Large_GZIP |
9.17 ms | 9.10 ms | -0.8% |
JSONLD_Catalog_Annotation_List_Populate |
600.62 us | 595.68 us | -0.8% |
JSONLD_Catalog_Materialize |
3.84 ms | 4.04 ms | +5.4% |
HTML_Build_Table_100000 |
38.12 ms | 38.05 ms | -0.2% |
HTML_Render_Table_100000 |
1.95 ms | 1.97 ms | +1.0% |
Markdown_To_HTML_Realistic_Document |
4.19 ms | 4.15 ms | -1.0% |
Markdown_To_HTML_Pathological |
13.02 ms | 13.03 ms | +0.1% |
Markdown_To_HTML_Short_Descriptions |
568.35 ns | 567.83 ns | -0.1% |
GZIP_Compress_ISO_Language_Set_3_Locations |
37.54 ms | 37.43 ms | -0.3% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
5.18 ms | 5.17 ms | -0.2% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
7.08 ms | 7.10 ms | +0.2% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
9.87 ms | 9.83 ms | -0.4% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.24 ms | 2.19 ms | -2.0% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
422.26 us | 424.98 us | +0.6% |
JOSE_VerifySignature_RS256 |
47.08 us | 48.49 us | +3.0% |
JOSE_VerifySignature_ES512 |
1.79 ms | 1.75 ms | -1.8% |
Crypto_CRC32_Large_JSONL |
101.56 us | 101.65 us | +0.1% |
Crypto_AES_GCM_Encrypt_128_1KB |
32.51 us | 31.36 us | -3.6% |
Crypto_AES_GCM_Decrypt_128_1KB |
32.52 us | 31.32 us | -3.7% |
Crypto_AES_GCM_Encrypt_256_1KB |
39.27 us | 38.09 us | -3.0% |
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
JSON_PropertySet_Insert |
794.32 ns | 1.08 us | +35.4% |
JSON_Object_At_Last_Key_32 |
9.00 ns | 10.93 ns | +21.5% |
Schema_Format_ISO_Language |
59.71 ms | 64.53 ms | +8.1% |
JSONLD_Catalog_Materialize |
4.61 ms | 4.97 ms | +7.9% |
Schema_Frame_ISO_Language_Locations_To_JSON |
114.83 ms | 122.76 ms | +6.9% |
Regex_Caret_Period_Plus_Dollar |
2.54 ns | 2.68 ns | +5.6% |
JSON_Object_At_Last_Key_128 |
48.75 ns | 51.47 ns | +5.6% |
Schema_Frame_KrakenD_References |
24.56 ms | 23.27 ms | -5.3% |
JSON_Parse_1 |
5.56 us | 5.20 us | -6.5% |
JSON_String_Equal_100 |
5.80 ns | 5.39 ns | -7.1% |
JSON_Parse_Object_Object_Properties |
7.55 us | 6.89 us | -8.7% |
Schema_Frame_Deeply_Nested_References |
11.98 ms | 10.94 ms | -8.7% |
Schema_Frame_ISO_Language_Locations |
61.20 ms | 54.34 ms | -11.2% |
JSON_Parse_Nested_Containers |
54.64 us | 47.06 us | -13.9% |
All 110 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.57 ns | 2.59 ns | +0.8% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.59 ns | 2.65 ns | +2.2% |
Regex_Period_Asterisk |
2.57 ns | 2.61 ns | +1.7% |
Regex_Group_Period_Asterisk_Group |
2.58 ns | 2.57 ns | -0.4% |
Regex_Period_Plus |
2.59 ns | 2.61 ns | +0.7% |
Regex_Period |
2.58 ns | 2.62 ns | +1.4% |
Regex_Caret_Period_Plus_Dollar |
2.54 ns | 2.68 ns | +5.6% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.49 ns | 2.61 ns | +4.7% |
Regex_Caret_Period_Asterisk_Dollar |
2.57 ns | 2.59 ns | +0.6% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.61 ns | 2.59 ns | -0.9% |
Regex_Caret_X_Hyphen |
4.23 ns | 4.24 ns | +0.2% |
Regex_Period_Md_Dollar |
22.10 ns | 22.14 ns | +0.2% |
Regex_Caret_Slash_Period_Asterisk |
4.15 ns | 4.26 ns | +2.6% |
Regex_Caret_Period_Range_Dollar |
2.76 ns | 2.82 ns | +2.0% |
Regex_Nested_Backtrack |
27.98 ns | 28.01 ns | +0.1% |
JSON_Array_Of_Objects_Unique |
298.62 ns | 299.29 ns | +0.2% |
JSON_Array_Of_Integers_Unique_256 |
2.32 us | 2.28 us | -1.6% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
136.56 us | 132.59 us | -2.9% |
JSON_Parse_1 |
5.56 us | 5.20 us | -6.5% |
JSON_Parse_Real |
6.16 us | 6.14 us | -0.3% |
JSON_Parse_Decimal |
6.83 us | 6.62 us | -3.0% |
JSON_Parse_Schema_ISO_Language |
5.40 ms | 5.14 ms | -4.8% |
JSON_Parse_Integer |
3.89 us | 3.82 us | -1.9% |
JSON_Parse_String_NonSSO_Plain |
5.32 us | 5.26 us | -1.1% |
JSON_Parse_String_SSO_Plain |
2.56 us | 2.52 us | -1.9% |
JSON_Parse_String_Escape_Heavy |
13.00 us | 12.66 us | -2.6% |
JSON_Parse_Object_Short_Keys |
8.09 us | 8.04 us | -0.6% |
JSON_Parse_Object_Scalar_Properties |
4.36 us | 4.32 us | -0.9% |
JSON_Parse_Object_Array_Properties |
7.02 us | 6.74 us | -4.0% |
JSON_Parse_Object_Object_Properties |
7.55 us | 6.89 us | -8.7% |
JSON_Parse_Nested_Containers |
54.64 us | 47.06 us | -13.9% |
JSON_Fast_Hash_Helm_Chart_Lock |
59.49 ns | 58.78 ns | -1.2% |
JSON_Equality_Helm_Chart_Lock |
104.94 ns | 104.07 ns | -0.8% |
JSON_String_Equal_10 |
5.30 ns | 5.17 ns | -2.4% |
JSON_String_Equal_100 |
5.80 ns | 5.39 ns | -7.1% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
1.20 ns | 1.17 ns | -2.1% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
7.61 ns | 7.73 ns | +1.6% |
JSON_String_Fast_Hash_10 |
3.54 ns | 3.49 ns | -1.5% |
JSON_String_Fast_Hash_100 |
3.47 ns | 3.40 ns | -2.1% |
JSON_String_Key_Hash_10 |
2.59 ns | 2.49 ns | -4.0% |
JSON_String_Key_Hash_100 |
5.86 ns | 5.79 ns | -1.2% |
JSON_Object_Defines_Miss_Same_Length |
1.84 ns | 1.84 ns | +0.1% |
JSON_Object_Defines_Miss_Too_Small |
2.17 ns | 2.06 ns | -4.9% |
JSON_Object_Defines_Miss_Too_Large |
2.03 ns | 2.08 ns | +2.4% |
JSON_From_String_Copy |
39.23 ns | 38.31 ns | -2.3% |
JSON_From_String_Temporary |
43.50 ns | 42.07 ns | -3.3% |
JSON_Number_To_Double |
25.12 ns | 25.16 ns | +0.2% |
JSON_Object_At_Last_Key_8 |
3.42 ns | 3.32 ns | -2.9% |
JSON_Object_At_Last_Key_32 |
9.00 ns | 10.93 ns | +21.5% |
JSON_Object_At_Last_Key_128 |
48.75 ns | 51.47 ns | +5.6% |
JSON_Object_At_Last_Key_512 |
151.36 ns | 153.44 ns | +1.4% |
JSON_Divisible_By_Decimal |
318.58 ns | 321.77 ns | +1.0% |
JSON_PropertySet_Contains |
38.48 ns | 37.89 ns | -1.5% |
JSON_PropertySet_Filter_Object_Properties |
24.81 ns | 24.60 ns | -0.9% |
JSON_PropertySet_Insert |
794.32 ns | 1.08 us | +35.4% |
JSON_Stringify_Schema_Web_Of_Things |
122.65 us | 123.59 us | +0.8% |
JSON_Prettify_Schema_Web_Of_Things |
388.45 us | 388.53 us | +0.0% |
Pointer_Object_Traverse |
31.33 ns | 32.21 ns | +2.8% |
Pointer_Object_Try_Traverse |
32.02 ns | 33.34 ns | +4.1% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
176.05 ns | 177.09 ns | +0.6% |
Pointer_Walker_Schema_ISO_Language |
8.49 ms | 8.75 ms | +3.0% |
Pointer_Untracked_Deeply_Nested |
1.47 ms | 1.54 ms | +4.6% |
Pointer_Tracked_Deeply_Nested |
2.24 ms | 2.32 ms | +3.3% |
Pointer_Position_Tracker_Get_Deeply_Nested |
406.79 ns | 408.88 ns | +0.5% |
Schema_Tracker_ISO_Language |
6.62 ms | 6.82 ms | +3.0% |
Schema_Tracker_ISO_Language_To_JSON |
45.46 ms | 46.25 ms | +1.7% |
Schema_Frame_WoT_References |
3.25 ms | 3.32 ms | +2.4% |
Schema_Frame_OMC_References |
13.43 ms | 13.52 ms | +0.7% |
Schema_Frame_OMC_Pointers |
25.70 ms | 25.33 ms | -1.4% |
Schema_Frame_OMC_Locations |
11.89 ms | 11.52 ms | -3.1% |
Schema_Frame_ISO_Language_Locations |
61.20 ms | 54.34 ms | -11.2% |
Schema_Frame_ISO_Language_Root |
1.36 us | 1.38 us | +1.0% |
Schema_Frame_KrakenD_References |
24.56 ms | 23.27 ms | -5.3% |
Schema_Frame_KrakenD_Reachable |
161.45 ms | 161.72 ms | +0.2% |
Schema_Frame_ISO_Language_Locations_To_JSON |
114.83 ms | 122.76 ms | +6.9% |
Schema_Frame_Many_Resources_References |
365.07 ms | 377.08 ms | +3.3% |
Schema_Frame_Deeply_Nested_References |
11.98 ms | 10.94 ms | -8.7% |
Schema_Format_ISO_Language |
59.71 ms | 64.53 ms | +8.1% |
Schema_Bundle_Meta_2020_12 |
821.93 us | 843.92 us | +2.7% |
Schema_Bundle_Many_Remotes_With_Fragments |
16.03 ms | 16.07 ms | +0.3% |
OpenAPI_Format_Synthetic_3_1 |
69.34 ms | 70.77 ms | +2.1% |
JSONPath_Descendant_Filter_Nested |
1.43 us | 1.44 us | +0.9% |
URITemplateRouter_Create |
22.96 us | 22.06 us | -3.9% |
URITemplateRouter_Match |
116.34 ns | 119.01 ns | +2.3% |
URITemplateRouterView_Restore |
14.98 us | 15.16 us | +1.2% |
URITemplateRouterView_Match |
100.42 ns | 105.02 ns | +4.6% |
URITemplateRouterView_Arguments |
345.25 ns | 342.85 ns | -0.7% |
URITemplateRouter_Match_BasePath |
127.04 ns | 129.60 ns | +2.0% |
URITemplateRouterView_Match_BasePath |
116.34 ns | 118.10 ns | +1.5% |
JSONL_Parse_Large |
20.94 ms | 20.47 ms | -2.2% |
JSONL_Parse_Large_GZIP |
20.27 ms | 20.10 ms | -0.8% |
JSONLD_Catalog_Annotation_List_Populate |
1.91 ms | 1.90 ms | -0.6% |
JSONLD_Catalog_Materialize |
4.61 ms | 4.97 ms | +7.9% |
HTML_Build_Table_100000 |
41.34 ms | 42.53 ms | +2.9% |
HTML_Render_Table_100000 |
6.03 ms | 5.89 ms | -2.3% |
Markdown_To_HTML_Realistic_Document |
2.97 ms | 3.04 ms | +2.4% |
Markdown_To_HTML_Pathological |
10.00 ms | 9.64 ms | -3.6% |
Markdown_To_HTML_Short_Descriptions |
408.32 ns | 402.34 ns | -1.5% |
GZIP_Compress_ISO_Language_Set_3_Locations |
21.93 ms | 22.51 ms | +2.7% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
7.18 ms | 7.39 ms | +2.9% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
8.79 ms | 8.56 ms | -2.6% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
8.75 ms | 8.43 ms | -3.7% |
GZIP_Compress_ISO_Language_Set_3_Schema |
1.55 ms | 1.57 ms | +1.4% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
442.95 us | 449.26 us | +1.4% |
JOSE_VerifySignature_RS256 |
12.28 us | 12.32 us | +0.3% |
JOSE_VerifySignature_ES512 |
844.04 us | 829.37 us | -1.7% |
Crypto_CRC32_Large_JSONL |
77.20 us | 76.35 us | -1.1% |
Crypto_AES_GCM_Encrypt_128_1KB |
1.27 us | 1.28 us | +0.5% |
Crypto_AES_GCM_Decrypt_128_1KB |
1.28 us | 1.28 us | -0.6% |
Crypto_AES_GCM_Encrypt_256_1KB |
1.32 us | 1.31 us | -0.4% |
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
JSON_Object_At_Last_Key_32 |
11.88 ns | 22.58 ns | +90.1% |
JSON_Object_At_Last_Key_128 |
48.61 ns | 87.15 ns | +79.3% |
JSON_Object_At_Last_Key_8 |
3.83 ns | 5.67 ns | +47.9% |
JSON_Object_At_Last_Key_512 |
287.46 ns | 385.27 ns | +34.0% |
JSON_Object_Defines_Miss_Same_Length |
3.11 ns | 3.73 ns | +19.9% |
JSON_PropertySet_Contains |
43.33 ns | 50.24 ns | +15.9% |
JSON_String_Key_Hash_10 |
2.72 ns | 2.96 ns | +8.8% |
Regex_Period_Md_Dollar |
27.91 ns | 29.80 ns | +6.8% |
Pointer_Object_Traverse |
24.94 ns | 23.39 ns | -6.2% |
JSON_PropertySet_Filter_Object_Properties |
40.07 ns | 36.10 ns | -9.9% |
JSON_Object_Defines_Miss_Too_Small |
3.11 ns | 2.80 ns | -10.0% |
JSON_String_Equal_10 |
6.30 ns | 5.41 ns | -14.2% |
Regex_Caret_Period_Range_Dollar |
2.73 ns | 2.33 ns | -14.4% |
All 110 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Crypto_CRC32_Large_JSONL |
101.69 us | 101.77 us | +0.1% |
Crypto_AES_GCM_Encrypt_128_1KB |
1.29 us | 1.25 us | -2.7% |
Crypto_AES_GCM_Decrypt_128_1KB |
1.22 us | 1.23 us | +0.2% |
Crypto_AES_GCM_Encrypt_256_1KB |
1.32 us | 1.29 us | -2.5% |
JOSE_VerifySignature_RS256 |
22.25 us | 22.22 us | -0.1% |
JOSE_VerifySignature_ES512 |
581.60 us | 581.47 us | -0.0% |
GZIP_Compress_ISO_Language_Set_3_Locations |
30.03 ms | 30.11 ms | +0.3% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
5.18 ms | 5.22 ms | +0.8% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
7.24 ms | 7.24 ms | -0.1% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
9.05 ms | 9.32 ms | +3.0% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.04 ms | 2.04 ms | -0.1% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
427.33 us | 432.26 us | +1.2% |
Markdown_To_HTML_Realistic_Document |
5.09 ms | 5.07 ms | -0.3% |
Markdown_To_HTML_Pathological |
13.51 ms | 13.66 ms | +1.1% |
Markdown_To_HTML_Short_Descriptions |
709.54 ns | 703.20 ns | -0.9% |
HTML_Build_Table_100000 |
38.74 ms | 38.24 ms | -1.3% |
HTML_Render_Table_100000 |
1.81 ms | 1.79 ms | -0.7% |
JSONLD_Catalog_Annotation_List_Populate |
722.66 us | 740.14 us | +2.4% |
JSONLD_Catalog_Materialize |
3.62 ms | 3.67 ms | +1.4% |
JSONL_Parse_Large |
10.52 ms | 10.39 ms | -1.3% |
JSONL_Parse_Large_GZIP |
10.70 ms | 10.58 ms | -1.1% |
URITemplateRouter_Create |
22.15 us | 21.96 us | -0.9% |
URITemplateRouter_Match |
160.77 ns | 158.96 ns | -1.1% |
URITemplateRouterView_Restore |
8.37 us | 8.35 us | -0.2% |
URITemplateRouterView_Match |
129.85 ns | 130.86 ns | +0.8% |
URITemplateRouterView_Arguments |
477.85 ns | 475.50 ns | -0.5% |
URITemplateRouter_Match_BasePath |
186.14 ns | 184.64 ns | -0.8% |
URITemplateRouterView_Match_BasePath |
150.96 ns | 151.02 ns | +0.0% |
JSONPath_Descendant_Filter_Nested |
1.69 us | 1.71 us | +1.5% |
OpenAPI_Format_Synthetic_3_1 |
53.44 ms | 50.96 ms | -4.6% |
Schema_Frame_WoT_References |
2.29 ms | 2.26 ms | -1.1% |
Schema_Frame_OMC_References |
10.07 ms | 10.13 ms | +0.5% |
Schema_Frame_OMC_Pointers |
19.20 ms | 19.21 ms | +0.1% |
Schema_Frame_OMC_Locations |
8.66 ms | 8.65 ms | -0.1% |
Schema_Frame_ISO_Language_Locations |
43.51 ms | 44.29 ms | +1.8% |
Schema_Frame_ISO_Language_Root |
336.12 ns | 335.77 ns | -0.1% |
Schema_Frame_KrakenD_References |
16.55 ms | 16.36 ms | -1.1% |
Schema_Frame_KrakenD_Reachable |
145.64 ms | 147.14 ms | +1.0% |
Schema_Frame_ISO_Language_Locations_To_JSON |
33.82 ms | 34.56 ms | +2.2% |
Schema_Frame_Many_Resources_References |
147.84 ms | 146.73 ms | -0.8% |
Schema_Frame_Deeply_Nested_References |
11.46 ms | 11.21 ms | -2.2% |
Schema_Format_ISO_Language |
49.51 ms | 49.99 ms | +1.0% |
Schema_Bundle_Meta_2020_12 |
657.03 us | 664.50 us | +1.1% |
Schema_Bundle_Many_Remotes_With_Fragments |
7.39 ms | 7.25 ms | -1.9% |
Pointer_Object_Traverse |
24.94 ns | 23.39 ns | -6.2% |
Pointer_Object_Try_Traverse |
24.52 ns | 24.54 ns | +0.1% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
136.44 ns | 130.01 ns | -4.7% |
Pointer_Walker_Schema_ISO_Language |
1.50 ms | 1.50 ms | +0.1% |
Pointer_Untracked_Deeply_Nested |
1.48 ms | 1.50 ms | +1.3% |
Pointer_Tracked_Deeply_Nested |
2.17 ms | 2.18 ms | +0.5% |
Pointer_Position_Tracker_Get_Deeply_Nested |
604.08 ns | 604.94 ns | +0.1% |
Schema_Tracker_ISO_Language |
4.98 ms | 4.97 ms | -0.1% |
Schema_Tracker_ISO_Language_To_JSON |
16.23 ms | 15.68 ms | -3.3% |
JSON_Array_Of_Objects_Unique |
456.65 ns | 456.40 ns | -0.1% |
JSON_Array_Of_Integers_Unique_256 |
4.36 us | 4.17 us | -4.2% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
194.56 us | 192.21 us | -1.2% |
JSON_Parse_1 |
5.62 us | 5.61 us | -0.0% |
JSON_Parse_Real |
5.59 us | 5.57 us | -0.5% |
JSON_Parse_Decimal |
10.20 us | 10.18 us | -0.2% |
JSON_Parse_Schema_ISO_Language |
3.79 ms | 3.80 ms | +0.3% |
JSON_Parse_Integer |
4.31 us | 4.33 us | +0.5% |
JSON_Parse_String_NonSSO_Plain |
3.77 us | 3.69 us | -2.2% |
JSON_Parse_String_SSO_Plain |
3.01 us | 3.00 us | -0.5% |
JSON_Parse_String_Escape_Heavy |
16.54 us | 16.11 us | -2.6% |
JSON_Parse_Object_Short_Keys |
11.04 us | 11.17 us | +1.1% |
JSON_Parse_Object_Scalar_Properties |
5.62 us | 5.67 us | +0.9% |
JSON_Parse_Object_Array_Properties |
6.87 us | 7.03 us | +2.3% |
JSON_Parse_Object_Object_Properties |
7.21 us | 7.10 us | -1.5% |
JSON_Parse_Nested_Containers |
42.71 us | 43.19 us | +1.1% |
JSON_Fast_Hash_Helm_Chart_Lock |
75.60 ns | 75.57 ns | -0.0% |
JSON_Equality_Helm_Chart_Lock |
164.96 ns | 168.84 ns | +2.4% |
JSON_String_Equal_10 |
6.30 ns | 5.41 ns | -14.2% |
JSON_String_Equal_100 |
6.00 ns | 6.04 ns | +0.6% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
0.62 ns | 0.62 ns | -0.1% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
13.07 ns | 13.70 ns | +4.8% |
JSON_String_Fast_Hash_10 |
3.15 ns | 3.15 ns | -0.1% |
JSON_String_Fast_Hash_100 |
3.16 ns | 3.15 ns | -0.2% |
JSON_String_Key_Hash_10 |
2.72 ns | 2.96 ns | +8.8% |
JSON_String_Key_Hash_100 |
13.79 ns | 13.38 ns | -3.0% |
JSON_Object_Defines_Miss_Same_Length |
3.11 ns | 3.73 ns | +19.9% |
JSON_Object_Defines_Miss_Too_Small |
3.11 ns | 2.80 ns | -10.0% |
JSON_Object_Defines_Miss_Too_Large |
3.11 ns | 3.11 ns | -0.0% |
JSON_From_String_Copy |
9.39 ns | 9.22 ns | -1.8% |
JSON_From_String_Temporary |
8.73 ns | 8.64 ns | -1.1% |
JSON_Number_To_Double |
26.18 ns | 26.27 ns | +0.3% |
JSON_Object_At_Last_Key_8 |
3.83 ns | 5.67 ns | +47.9% |
JSON_Object_At_Last_Key_32 |
11.88 ns | 22.58 ns | +90.1% |
JSON_Object_At_Last_Key_128 |
48.61 ns | 87.15 ns | +79.3% |
JSON_Object_At_Last_Key_512 |
287.46 ns | 385.27 ns | +34.0% |
JSON_Divisible_By_Decimal |
608.70 ns | 588.35 ns | -3.3% |
JSON_PropertySet_Contains |
43.33 ns | 50.24 ns | +15.9% |
JSON_PropertySet_Filter_Object_Properties |
40.07 ns | 36.10 ns | -9.9% |
JSON_PropertySet_Insert |
479.69 ns | 470.71 ns | -1.9% |
JSON_Stringify_Schema_Web_Of_Things |
65.02 us | 62.44 us | -4.0% |
JSON_Prettify_Schema_Web_Of_Things |
178.29 us | 174.40 us | -2.2% |
Regex_Lower_S_Or_Upper_S_Asterisk |
2.10 ns | 2.10 ns | -0.0% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.10 ns | 2.03 ns | -3.2% |
Regex_Period_Asterisk |
2.10 ns | 2.10 ns | -0.1% |
Regex_Group_Period_Asterisk_Group |
2.02 ns | 2.10 ns | +3.8% |
Regex_Period_Plus |
2.10 ns | 2.10 ns | -0.1% |
Regex_Period |
2.10 ns | 2.02 ns | -3.8% |
Regex_Caret_Period_Plus_Dollar |
2.10 ns | 2.10 ns | -0.1% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.02 ns | 2.10 ns | +3.7% |
Regex_Caret_Period_Asterisk_Dollar |
2.10 ns | 2.10 ns | -0.0% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.10 ns | 2.02 ns | -3.8% |
Regex_Caret_X_Hyphen |
6.77 ns | 6.77 ns | -0.1% |
Regex_Period_Md_Dollar |
27.91 ns | 29.80 ns | +6.8% |
Regex_Caret_Slash_Period_Asterisk |
7.08 ns | 7.08 ns | -0.1% |
Regex_Caret_Period_Range_Dollar |
2.73 ns | 2.33 ns | -14.4% |
Regex_Nested_Backtrack |
37.97 ns | 37.87 ns | -0.3% |
Signed-off-by: Juan Cruz Viotti <[email protected]>
Signed-off-by: Juan Cruz Viotti <[email protected]>
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
JSON_Object_At_Last_Key_8 |
4.11 ns | 5.43 ns | +32.4% |
JSON_Object_At_Last_Key_32 |
13.76 ns | 16.38 ns | +19.1% |
JSON_Parse_Object_Scalar_Properties |
3.19 us | 3.75 us | +17.6% |
JSON_String_Equal_10 |
7.68 ns | 8.86 ns | +15.4% |
JSON_From_String_Temporary |
6.45 ns | 7.34 ns | +13.7% |
JSON_Number_To_Double |
9.94 ns | 11.02 ns | +10.9% |
JSON_Parse_String_NonSSO_Plain |
3.37 us | 3.64 us | +8.0% |
JSON_Parse_Object_Short_Keys |
7.35 us | 7.89 us | +7.3% |
JSON_Parse_String_SSO_Plain |
2.08 us | 2.20 us | +5.8% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.61 ns | 2.76 ns | +5.7% |
Regex_Caret_Period_Plus_Dollar |
2.74 ns | 2.53 ns | -7.5% |
JSON_PropertySet_Filter_Object_Properties |
39.91 ns | 36.73 ns | -8.0% |
JSON_Equality_Helm_Chart_Lock |
213.18 ns | 195.45 ns | -8.3% |
JSON_Stringify_Schema_Web_Of_Things |
64.79 us | 59.24 us | -8.6% |
JSON_String_Equal_100 |
8.51 ns | 7.67 ns | -9.9% |
JSON_Parse_Real |
3.92 us | 3.52 us | -10.1% |
JSON_Object_At_Last_Key_512 |
233.24 ns | 206.58 ns | -11.4% |
JSON_Fast_Hash_Helm_Chart_Lock |
79.77 ns | 70.64 ns | -11.4% |
JSON_Object_Defines_Miss_Too_Small |
5.95 ns | 5.26 ns | -11.6% |
JSON_Parse_String_Escape_Heavy |
20.70 us | 18.18 us | -12.1% |
Regex_Caret_X_Hyphen |
7.99 ns | 7.02 ns | -12.2% |
JSON_String_Fast_Hash_100 |
2.55 ns | 2.24 ns | -12.2% |
JSON_Parse_Integer |
3.20 us | 2.78 us | -13.2% |
JSON_Parse_Object_Object_Properties |
4.98 us | 4.31 us | -13.4% |
JSON_String_Key_Hash_10 |
2.19 ns | 1.88 ns | -14.0% |
JSON_Parse_Nested_Containers |
30.52 us | 26.16 us | -14.3% |
JSON_Parse_Object_Array_Properties |
4.79 us | 4.11 us | -14.4% |
JSON_String_Key_Hash_100 |
2.48 ns | 2.11 ns | -14.8% |
Pointer_Object_Traverse |
23.45 ns | 19.86 ns | -15.3% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
4.19 ns | 3.54 ns | -15.5% |
Regex_Caret_Slash_Period_Asterisk |
6.05 ns | 5.07 ns | -16.3% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.44 ns | 2.02 ns | -17.0% |
JSON_String_Fast_Hash_10 |
2.87 ns | 2.36 ns | -17.6% |
Schema_Tracker_ISO_Language |
3.97 ms | 3.22 ms | -18.8% |
JOSE_VerifySignature_ES512 |
1.57 ms | 1.27 ms | -19.0% |
JSON_Divisible_By_Decimal |
528.24 ns | 426.27 ns | -19.3% |
JSON_Object_Defines_Miss_Too_Large |
3.36 ns | 2.71 ns | -19.4% |
Schema_Frame_OMC_Pointers |
21.59 ms | 17.16 ms | -20.5% |
JSON_Prettify_Schema_Web_Of_Things |
192.37 us | 151.18 us | -21.4% |
JSON_Array_Of_Objects_Unique |
573.81 ns | 446.51 ns | -22.2% |
Regex_Lower_S_Or_Upper_S_Asterisk |
2.62 ns | 2.02 ns | -23.0% |
Regex_Period_Md_Dollar |
29.06 ns | 22.28 ns | -23.3% |
Regex_Caret_Period_Range_Dollar |
2.93 ns | 2.22 ns | -24.1% |
Schema_Tracker_ISO_Language_To_JSON |
16.45 ms | 12.36 ms | -24.9% |
Crypto_AES_GCM_Encrypt_128_1KB |
5.41 us | 4.06 us | -24.9% |
Regex_Group_Period_Asterisk_Group |
2.71 ns | 2.01 ns | -25.9% |
URITemplateRouterView_Arguments |
753.32 ns | 553.13 ns | -26.6% |
Crypto_AES_GCM_Decrypt_128_1KB |
5.68 us | 4.15 us | -26.9% |
Regex_Period |
2.98 ns | 2.17 ns | -27.3% |
URITemplateRouter_Match_BasePath |
286.51 ns | 205.33 ns | -28.3% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
226.19 us | 161.86 us | -28.4% |
Pointer_Tracked_Deeply_Nested |
1.64 ms | 1.17 ms | -29.0% |
Pointer_Position_Tracker_Get_Deeply_Nested |
539.48 ns | 378.30 ns | -29.9% |
Regex_Period_Asterisk |
2.63 ns | 1.84 ns | -30.0% |
Schema_Frame_ISO_Language_Root |
159.11 ns | 111.09 ns | -30.2% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4.43 ms | 3.09 ms | -30.3% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
6.46 ms | 4.51 ms | -30.3% |
Schema_Frame_WoT_References |
2.67 ms | 1.86 ms | -30.4% |
URITemplateRouter_Create |
27.08 us | 18.71 us | -30.9% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
9.50 ms | 6.51 ms | -31.5% |
Regex_Period_Plus |
3.62 ns | 2.47 ns | -31.7% |
Schema_Frame_KrakenD_References |
21.73 ms | 14.69 ms | -32.4% |
URITemplateRouterView_Match |
194.22 ns | 130.91 ns | -32.6% |
GZIP_Compress_ISO_Language_Set_3_Locations |
44.50 ms | 29.88 ms | -32.9% |
URITemplateRouterView_Match_BasePath |
240.48 ns | 159.94 ns | -33.5% |
Schema_Frame_OMC_Locations |
11.65 ms | 7.69 ms | -34.0% |
Pointer_Untracked_Deeply_Nested |
1.32 ms | 865.30 us | -34.3% |
Crypto_CRC32_Large_JSONL |
36.21 us | 23.76 us | -34.4% |
Pointer_Walker_Schema_ISO_Language |
2.09 ms | 1.36 ms | -34.6% |
Markdown_To_HTML_Realistic_Document |
5.16 ms | 3.30 ms | -36.0% |
Schema_Frame_ISO_Language_Locations_To_JSON |
35.76 ms | 22.80 ms | -36.2% |
URITemplateRouter_Match |
267.57 ns | 168.98 ns | -36.8% |
Schema_Frame_OMC_References |
14.34 ms | 9.02 ms | -37.1% |
Schema_Frame_Deeply_Nested_References |
20.29 ms | 12.74 ms | -37.2% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.87 ns | 1.80 ns | -37.5% |
Crypto_AES_GCM_Encrypt_256_1KB |
5.52 us | 3.42 us | -38.0% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.81 ms | 1.73 ms | -38.5% |
Schema_Frame_ISO_Language_Locations |
35.66 ms | 21.64 ms | -39.3% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
492.81 us | 298.72 us | -39.4% |
OpenAPI_Format_Synthetic_3_1 |
67.05 ms | 39.42 ms | -41.2% |
Schema_Frame_KrakenD_Reachable |
317.39 ms | 182.90 ms | -42.4% |
JSON_Array_Of_Integers_Unique_256 |
8.44 us | 4.84 us | -42.6% |
Schema_Bundle_Meta_2020_12 |
732.46 us | 407.41 us | -44.4% |
JOSE_VerifySignature_RS256 |
42.30 us | 23.48 us | -44.5% |
HTML_Build_Table_100000 |
46.00 ms | 25.36 ms | -44.9% |
Schema_Format_ISO_Language |
44.83 ms | 24.53 ms | -45.3% |
Regex_Nested_Backtrack |
51.84 ns | 28.13 ns | -45.7% |
Schema_Frame_Many_Resources_References |
212.70 ms | 113.03 ms | -46.9% |
Schema_Bundle_Many_Remotes_With_Fragments |
9.88 ms | 5.13 ms | -48.0% |
Markdown_To_HTML_Pathological |
20.80 ms | 10.22 ms | -50.8% |
Markdown_To_HTML_Short_Descriptions |
658.80 ns | 315.60 ns | -52.1% |
JSONPath_Descendant_Filter_Nested |
2.59 us | 1.20 us | -53.9% |
HTML_Render_Table_100000 |
3.55 ms | 1.64 ms | -53.9% |
URITemplateRouterView_Restore |
22.62 us | 10.30 us | -54.5% |
JSONL_Parse_Large |
13.75 ms | 6.05 ms | -56.0% |
JSONL_Parse_Large_GZIP |
14.16 ms | 5.89 ms | -58.4% |
JSONLD_Catalog_Materialize |
5.68 ms | 2.20 ms | -61.3% |
JSONLD_Catalog_Annotation_List_Populate |
1.22 ms | 473.98 us | -61.3% |
All 110 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.62 ns | 2.02 ns | -23.0% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.44 ns | 2.02 ns | -17.0% |
Regex_Period_Asterisk |
2.63 ns | 1.84 ns | -30.0% |
Regex_Group_Period_Asterisk_Group |
2.71 ns | 2.01 ns | -25.9% |
Regex_Period_Plus |
3.62 ns | 2.47 ns | -31.7% |
Regex_Period |
2.98 ns | 2.17 ns | -27.3% |
Regex_Caret_Period_Plus_Dollar |
2.74 ns | 2.53 ns | -7.5% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.61 ns | 2.76 ns | +5.7% |
Regex_Caret_Period_Asterisk_Dollar |
2.57 ns | 2.47 ns | -3.7% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.87 ns | 1.80 ns | -37.5% |
Regex_Caret_X_Hyphen |
7.99 ns | 7.02 ns | -12.2% |
Regex_Period_Md_Dollar |
29.06 ns | 22.28 ns | -23.3% |
Regex_Caret_Slash_Period_Asterisk |
6.05 ns | 5.07 ns | -16.3% |
Regex_Caret_Period_Range_Dollar |
2.93 ns | 2.22 ns | -24.1% |
Regex_Nested_Backtrack |
51.84 ns | 28.13 ns | -45.7% |
JSON_Array_Of_Objects_Unique |
573.81 ns | 446.51 ns | -22.2% |
JSON_Array_Of_Integers_Unique_256 |
8.44 us | 4.84 us | -42.6% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
226.19 us | 161.86 us | -28.4% |
JSON_Parse_1 |
3.63 us | 3.45 us | -4.8% |
JSON_Parse_Real |
3.92 us | 3.52 us | -10.1% |
JSON_Parse_Decimal |
7.62 us | 7.25 us | -4.7% |
JSON_Parse_Schema_ISO_Language |
2.64 ms | 2.63 ms | -0.4% |
JSON_Parse_Integer |
3.20 us | 2.78 us | -13.2% |
JSON_Parse_String_NonSSO_Plain |
3.37 us | 3.64 us | +8.0% |
JSON_Parse_String_SSO_Plain |
2.08 us | 2.20 us | +5.8% |
JSON_Parse_String_Escape_Heavy |
20.70 us | 18.18 us | -12.1% |
JSON_Parse_Object_Short_Keys |
7.35 us | 7.89 us | +7.3% |
JSON_Parse_Object_Scalar_Properties |
3.19 us | 3.75 us | +17.6% |
JSON_Parse_Object_Array_Properties |
4.79 us | 4.11 us | -14.4% |
JSON_Parse_Object_Object_Properties |
4.98 us | 4.31 us | -13.4% |
JSON_Parse_Nested_Containers |
30.52 us | 26.16 us | -14.3% |
JSON_Fast_Hash_Helm_Chart_Lock |
79.77 ns | 70.64 ns | -11.4% |
JSON_Equality_Helm_Chart_Lock |
213.18 ns | 195.45 ns | -8.3% |
JSON_String_Equal_10 |
7.68 ns | 8.86 ns | +15.4% |
JSON_String_Equal_100 |
8.51 ns | 7.67 ns | -9.9% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
0.40 ns | 0.39 ns | -2.5% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
4.19 ns | 3.54 ns | -15.5% |
JSON_String_Fast_Hash_10 |
2.87 ns | 2.36 ns | -17.6% |
JSON_String_Fast_Hash_100 |
2.55 ns | 2.24 ns | -12.2% |
JSON_String_Key_Hash_10 |
2.19 ns | 1.88 ns | -14.0% |
JSON_String_Key_Hash_100 |
2.48 ns | 2.11 ns | -14.8% |
JSON_Object_Defines_Miss_Same_Length |
3.16 ns | 3.11 ns | -1.7% |
JSON_Object_Defines_Miss_Too_Small |
5.95 ns | 5.26 ns | -11.6% |
JSON_Object_Defines_Miss_Too_Large |
3.36 ns | 2.71 ns | -19.4% |
JSON_From_String_Copy |
11.25 ns | 11.25 ns | -0.0% |
JSON_From_String_Temporary |
6.45 ns | 7.34 ns | +13.7% |
JSON_Number_To_Double |
9.94 ns | 11.02 ns | +10.9% |
JSON_Object_At_Last_Key_8 |
4.11 ns | 5.43 ns | +32.4% |
JSON_Object_At_Last_Key_32 |
13.76 ns | 16.38 ns | +19.1% |
JSON_Object_At_Last_Key_128 |
60.72 ns | 62.78 ns | +3.4% |
JSON_Object_At_Last_Key_512 |
233.24 ns | 206.58 ns | -11.4% |
JSON_Divisible_By_Decimal |
528.24 ns | 426.27 ns | -19.3% |
JSON_PropertySet_Contains |
46.84 ns | 45.57 ns | -2.7% |
JSON_PropertySet_Filter_Object_Properties |
39.91 ns | 36.73 ns | -8.0% |
JSON_PropertySet_Insert |
373.78 ns | 356.50 ns | -4.6% |
JSON_Stringify_Schema_Web_Of_Things |
64.79 us | 59.24 us | -8.6% |
JSON_Prettify_Schema_Web_Of_Things |
192.37 us | 151.18 us | -21.4% |
Pointer_Object_Traverse |
23.45 ns | 19.86 ns | -15.3% |
Pointer_Object_Try_Traverse |
35.63 ns | 35.49 ns | -0.4% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
169.68 ns | 166.55 ns | -1.8% |
Pointer_Walker_Schema_ISO_Language |
2.09 ms | 1.36 ms | -34.6% |
Pointer_Untracked_Deeply_Nested |
1.32 ms | 865.30 us | -34.3% |
Pointer_Tracked_Deeply_Nested |
1.64 ms | 1.17 ms | -29.0% |
Pointer_Position_Tracker_Get_Deeply_Nested |
539.48 ns | 378.30 ns | -29.9% |
Schema_Tracker_ISO_Language |
3.97 ms | 3.22 ms | -18.8% |
Schema_Tracker_ISO_Language_To_JSON |
16.45 ms | 12.36 ms | -24.9% |
Schema_Frame_WoT_References |
2.67 ms | 1.86 ms | -30.4% |
Schema_Frame_OMC_References |
14.34 ms | 9.02 ms | -37.1% |
Schema_Frame_OMC_Pointers |
21.59 ms | 17.16 ms | -20.5% |
Schema_Frame_OMC_Locations |
11.65 ms | 7.69 ms | -34.0% |
Schema_Frame_ISO_Language_Locations |
35.66 ms | 21.64 ms | -39.3% |
Schema_Frame_ISO_Language_Root |
159.11 ns | 111.09 ns | -30.2% |
Schema_Frame_KrakenD_References |
21.73 ms | 14.69 ms | -32.4% |
Schema_Frame_KrakenD_Reachable |
317.39 ms | 182.90 ms | -42.4% |
Schema_Frame_ISO_Language_Locations_To_JSON |
35.76 ms | 22.80 ms | -36.2% |
Schema_Frame_Many_Resources_References |
212.70 ms | 113.03 ms | -46.9% |
Schema_Frame_Deeply_Nested_References |
20.29 ms | 12.74 ms | -37.2% |
Schema_Format_ISO_Language |
44.83 ms | 24.53 ms | -45.3% |
Schema_Bundle_Meta_2020_12 |
732.46 us | 407.41 us | -44.4% |
Schema_Bundle_Many_Remotes_With_Fragments |
9.88 ms | 5.13 ms | -48.0% |
OpenAPI_Format_Synthetic_3_1 |
67.05 ms | 39.42 ms | -41.2% |
JSONPath_Descendant_Filter_Nested |
2.59 us | 1.20 us | -53.9% |
URITemplateRouter_Create |
27.08 us | 18.71 us | -30.9% |
URITemplateRouter_Match |
267.57 ns | 168.98 ns | -36.8% |
URITemplateRouterView_Restore |
22.62 us | 10.30 us | -54.5% |
URITemplateRouterView_Match |
194.22 ns | 130.91 ns | -32.6% |
URITemplateRouterView_Arguments |
753.32 ns | 553.13 ns | -26.6% |
URITemplateRouter_Match_BasePath |
286.51 ns | 205.33 ns | -28.3% |
URITemplateRouterView_Match_BasePath |
240.48 ns | 159.94 ns | -33.5% |
JSONL_Parse_Large |
13.75 ms | 6.05 ms | -56.0% |
JSONL_Parse_Large_GZIP |
14.16 ms | 5.89 ms | -58.4% |
JSONLD_Catalog_Annotation_List_Populate |
1.22 ms | 473.98 us | -61.3% |
JSONLD_Catalog_Materialize |
5.68 ms | 2.20 ms | -61.3% |
HTML_Build_Table_100000 |
46.00 ms | 25.36 ms | -44.9% |
HTML_Render_Table_100000 |
3.55 ms | 1.64 ms | -53.9% |
Markdown_To_HTML_Realistic_Document |
5.16 ms | 3.30 ms | -36.0% |
Markdown_To_HTML_Pathological |
20.80 ms | 10.22 ms | -50.8% |
Markdown_To_HTML_Short_Descriptions |
658.80 ns | 315.60 ns | -52.1% |
GZIP_Compress_ISO_Language_Set_3_Locations |
44.50 ms | 29.88 ms | -32.9% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4.43 ms | 3.09 ms | -30.3% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
6.46 ms | 4.51 ms | -30.3% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
9.50 ms | 6.51 ms | -31.5% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.81 ms | 1.73 ms | -38.5% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
492.81 us | 298.72 us | -39.4% |
JOSE_VerifySignature_RS256 |
42.30 us | 23.48 us | -44.5% |
JOSE_VerifySignature_ES512 |
1.57 ms | 1.27 ms | -19.0% |
Crypto_CRC32_Large_JSONL |
36.21 us | 23.76 us | -34.4% |
Crypto_AES_GCM_Encrypt_128_1KB |
5.41 us | 4.06 us | -24.9% |
Crypto_AES_GCM_Decrypt_128_1KB |
5.68 us | 4.15 us | -26.9% |
Crypto_AES_GCM_Encrypt_256_1KB |
5.52 us | 3.42 us | -38.0% |
Signed-off-by: Juan Cruz Viotti [email protected]