Skip to content

Commit

Permalink
Rename official_resolver to schema_official_resolver (#1506)
Browse files Browse the repository at this point in the history
Signed-off-by: Juan Cruz Viotti <[email protected]>
  • Loading branch information
jviotti authored Jan 30, 2025
1 parent eeee8b4 commit 9f78156
Show file tree
Hide file tree
Showing 72 changed files with 501 additions and 499 deletions.
2 changes: 1 addition & 1 deletion src/core/jsonschema/bundle.cc
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ auto is_official_metaschema_reference(const sourcemeta::core::Pointer &pointer,
const std::string &destination) -> bool {
return !pointer.empty() && pointer.back().is_property() &&
pointer.back().to_property() == "$schema" &&
sourcemeta::core::official_resolver(destination).has_value();
sourcemeta::core::schema_official_resolver(destination).has_value();
}

auto bundle_schema(sourcemeta::core::JSON &root, const std::string &container,
Expand Down
20 changes: 10 additions & 10 deletions src/core/jsonschema/include/sourcemeta/core/jsonschema.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ enum class SchemaIdentificationStrategy : std::uint8_t {
/// })JSON");
///
/// std::optional<std::string> id{sourcemeta::core::identify(
/// document, sourcemeta::core::official_resolver)};
/// document, sourcemeta::core::schema_official_resolver)};
/// assert(id.has_value());
/// assert(id.value() == "https://sourcemeta.com/example-schema");
/// ```
Expand Down Expand Up @@ -121,7 +121,7 @@ auto identify(const JSON &schema, const std::string &base_dialect,
/// "https://json-schema.org/draft/2020-12/schema");
///
/// std::optional<std::string> id{sourcemeta::core::identify(
/// document, sourcemeta::core::official_resolver)};
/// document, sourcemeta::core::schema_official_resolver)};
/// assert(!id.has_value());
/// ```
SOURCEMETA_CORE_JSONSCHEMA_EXPORT
Expand All @@ -145,10 +145,10 @@ auto anonymize(JSON &schema, const std::string &base_dialect) -> void;
///
/// sourcemeta::core::reidentify(document,
/// "https://example.com/my-new-id",
/// sourcemeta::core::official_resolver);
/// sourcemeta::core::schema_official_resolver);
///
/// std::optional<std::string> id{sourcemeta::core::identify(
/// document, sourcemeta::core::official_resolver)};
/// document, sourcemeta::core::schema_official_resolver)};
/// assert(id.has_value());
/// assert(id.value() == "https://example.com/my-new-id");
/// ```
Expand Down Expand Up @@ -210,7 +210,7 @@ auto dialect(const JSON &schema,
///
/// const sourcemeta::core::JSON metaschema{
/// sourcemeta::core::metaschema(
/// document, sourcemeta::core::official_resolver)};
/// document, sourcemeta::core::schema_official_resolver)};
///
/// sourcemeta::core::prettify(metaschema, std::cout);
/// std::cout << std::endl;
Expand Down Expand Up @@ -242,7 +242,7 @@ auto metaschema(
///
/// const std::optional<std::string> base_dialect{
/// sourcemeta::core::base_dialect(
/// document, sourcemeta::core::official_resolver)};
/// document, sourcemeta::core::schema_official_resolver)};
///
/// assert(base_dialect.has_value());
/// assert(base_dialect.value() ==
Expand Down Expand Up @@ -275,7 +275,7 @@ auto base_dialect(const JSON &schema, const SchemaResolver &resolver,
///
/// const std::map<std::string, bool> vocabularies{
/// sourcemeta::core::vocabularies(
/// document, sourcemeta::core::official_resolver)};
/// document, sourcemeta::core::schema_official_resolver)};
///
/// assert(vocabularies.at("https://json-schema.org/draft/2020-12/vocab/core"));
/// assert(vocabularies.at("https://json-schema.org/draft/2020-12/vocab/applicator"));
Expand Down Expand Up @@ -341,7 +341,7 @@ auto schema_format_compare(const JSON::String &left, const JSON::String &right)
///
/// sourcemeta::core::unidentify(schema,
/// sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver);
/// sourcemeta::core::schema_official_resolver);
///
/// const sourcemeta::core::JSON expected =
/// sourcemeta::core::parse_json(R"JSON({
Expand Down Expand Up @@ -387,7 +387,7 @@ using SchemaVisitorReference = std::function<void(
///
/// sourcemeta::core::reference_visit(schema,
/// sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver,
/// sourcemeta::core::schema_official_resolver,
/// sourcemeta::core::reference_visitor_relativize);
///
/// const sourcemeta::core::JSON expected =
Expand Down Expand Up @@ -437,7 +437,7 @@ auto reference_visitor_relativize(JSON &subschema, const URI &base,
///
/// sourcemeta::core::reference_visit(schema,
/// sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver,
/// sourcemeta::core::schema_official_resolver,
/// visitor);
/// ```
SOURCEMETA_CORE_JSONSCHEMA_EXPORT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ namespace sourcemeta::core {
/// "type": "string"
/// })JSON");
/// } else {
/// return sourcemeta::core::official_resolver(identifier);
/// return sourcemeta::core::schema_official_resolver(identifier);
/// }
/// }
///
Expand Down Expand Up @@ -94,7 +94,7 @@ auto bundle(sourcemeta::core::JSON &schema, const SchemaWalker &walker,
/// "type": "string"
/// })JSON");
/// } else {
/// return sourcemeta::core::official_resolver(identifier);
/// return sourcemeta::core::schema_official_resolver(identifier);
/// }
/// }
///
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ namespace sourcemeta::core {
/// sourcemeta::core::SchemaSchemaFrame frame;
/// frame.analyse(document,
/// sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver);
/// sourcemeta::core::schema_official_resolver);
///
/// // IDs
/// assert(frame.locations().contains({sourcemeta::core::SchemaReferenceType::Static,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ namespace sourcemeta::core {
///
/// For convenience, we provide the following default resolvers:
///
/// - sourcemeta::core::official_resolver
/// - sourcemeta::core::schema_official_resolver
///
/// You can implement resolvers to read from a local storage, to send HTTP
/// requests, or anything your application might require. Unless your resolver
Expand All @@ -35,7 +35,7 @@ using SchemaResolver = std::function<std::optional<JSON>(std::string_view)>;
/// @ingroup jsonschema
/// A default resolver that relies on built-in official schemas.
SOURCEMETA_CORE_JSONSCHEMA_EXPORT
auto official_resolver(std::string_view identifier)
auto schema_official_resolver(std::string_view identifier)
-> std::optional<sourcemeta::core::JSON>;

/// @ingroup jsonschema
Expand All @@ -48,7 +48,7 @@ auto official_resolver(std::string_view identifier)
///
/// // (1) Create a map resolver that falls back to the official resolver
/// sourcemeta::core::SchemaMapResolver
/// resolver{sourcemeta::core::official_resolver};
/// resolver{sourcemeta::core::schema_official_resolver};
///
/// const sourcemeta::core::JSON schema =
/// sourcemeta::core::parse_json(R"JSON({
Expand Down Expand Up @@ -105,7 +105,7 @@ class SOURCEMETA_CORE_JSONSCHEMA_EXPORT SchemaMapResolver {
///
/// // (1) Create a flat file resolver that falls back to the official resolver
/// sourcemeta::core::SchemaFlatFileResolver
/// resolver{sourcemeta::core::official_resolver};
/// resolver{sourcemeta::core::schema_official_resolver};
///
/// // (2) Register a schema by path
/// resolver.add("path/to/example.schema.json");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ class SOURCEMETA_CORE_JSONSCHEMA_EXPORT SchemaTransformRule {
///
/// // Apply the transformation bundle to the schema
/// bundle.apply(schema, sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver);
/// sourcemeta::core::schema_official_resolver);
///
/// // `foo` keywords are gone
/// assert(!schema.defines("foo"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ using SchemaUnevaluatedEntries = std::map<std::string, SchemaUnevaluatedEntry>;
/// sourcemeta::core::SchemaSchemaFrame frame;
/// frame.analyse(document,
/// sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver);
/// sourcemeta::core::schema_official_resolver);
/// const auto result{sourcemeta::core::unevaluated(
/// schema, frame,
/// sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver)};
/// sourcemeta::core::schema_official_resolver)};
///
/// assert(result.contains("#/unevaluatedProperties"));
/// assert(!result.at("#/unevaluatedProperties").dynamic);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ struct SchemaIteratorEntry {
/// for (const auto &entry :
/// sourcemeta::core::SchemaIterator{
/// document, sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver}) {
/// sourcemeta::core::schema_official_resolver}) {
/// sourcemeta::core::prettify(
/// sourcemeta::core::get(document, entry.pointer), std::cout);
/// std::cout << "\n";
Expand Down Expand Up @@ -164,7 +164,7 @@ class SOURCEMETA_CORE_JSONSCHEMA_EXPORT SchemaIterator {
/// for (const auto &entry :
/// sourcemeta::core::SchemaIteratorFlat{
/// document, sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver}) {
/// sourcemeta::core::schema_official_resolver}) {
/// sourcemeta::core::prettify(
/// sourcemeta::core::get(document, entry.pointer), std::cout);
/// std::cout << "\n";
Expand Down Expand Up @@ -222,7 +222,7 @@ class SOURCEMETA_CORE_JSONSCHEMA_EXPORT SchemaIteratorFlat {
///
/// const auto vocabularies{
/// sourcemeta::core::vocabularies(
/// document, sourcemeta::core::official_resolver)};
/// document, sourcemeta::core::schema_official_resolver)};
///
/// assert(sourcemeta::core::schema_keyword_priority(
/// "prefixItems", vocabularies,
Expand Down Expand Up @@ -261,7 +261,7 @@ auto SOURCEMETA_CORE_JSONSCHEMA_EXPORT schema_keyword_priority(
/// for (const auto &entry :
/// sourcemeta::core::SchemaKeywordIterator{
/// document, sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver}) {
/// sourcemeta::core::schema_official_resolver}) {
/// sourcemeta::core::stringify(entry.pointer, std::cout);
/// std::cout << "\n";
/// }
Expand Down
2 changes: 1 addition & 1 deletion src/core/jsonschema/official_resolver.in.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include <sourcemeta/core/jsonschema_resolver.h>

auto sourcemeta::core::official_resolver(std::string_view identifier)
auto sourcemeta::core::schema_official_resolver(std::string_view identifier)
-> std::optional<sourcemeta::core::JSON> {
// JSON Schema 2020-12
if (identifier == "https://json-schema.org/draft/2020-12/schema") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ enum class AlterSchemaCategory {
/// })JSON");
///
/// bundle.apply(schema, sourcemeta::core::schema_official_walker,
/// sourcemeta::core::official_resolver);
/// sourcemeta::core::schema_official_resolver);
/// ```
SOURCEMETA_CORE_ALTERSCHEMA_EXPORT
auto add(SchemaTransformer &bundle, const AlterSchemaCategory category) -> void;
Expand Down
4 changes: 2 additions & 2 deletions test/alterschema/alterschema_test_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
sourcemeta::core::add(bundle, \
sourcemeta::core::AlterSchemaCategory::SyntaxSugar); \
bundle.apply(document, sourcemeta::core::schema_official_walker, \
sourcemeta::core::official_resolver);
sourcemeta::core::schema_official_resolver);

#define LINT_AND_FIX_FOR_ANALYSIS(document) \
sourcemeta::core::SchemaTransformer bundle; \
Expand All @@ -32,6 +32,6 @@
sourcemeta::core::add(bundle, \
sourcemeta::core::AlterSchemaCategory::Desugar); \
bundle.apply(document, sourcemeta::core::schema_official_walker, \
sourcemeta::core::official_resolver);
sourcemeta::core::schema_official_resolver);

#endif
24 changes: 12 additions & 12 deletions test/jsonschema/jsonschema_base_dialect_2019_09_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_schema) {
"type": "object"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand All @@ -20,7 +20,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_hyperschema) {
"type": "object"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/hyper-schema");
Expand All @@ -31,7 +31,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_links) {
"$schema": "https://json-schema.org/draft/2019-09/links"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand All @@ -42,7 +42,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_output) {
"$schema": "https://json-schema.org/draft/2019-09/output/schema"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand All @@ -53,7 +53,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_output_hyperschema) {
"$schema": "https://json-schema.org/draft/2019-09/output/hyper-schema"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand All @@ -64,7 +64,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_meta_applicator) {
"$schema": "https://json-schema.org/draft/2019-09/meta/applicator"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand All @@ -75,7 +75,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_meta_content) {
"$schema": "https://json-schema.org/draft/2019-09/meta/content"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand All @@ -86,7 +86,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_meta_core) {
"$schema": "https://json-schema.org/draft/2019-09/meta/core"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand All @@ -97,7 +97,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_meta_format) {
"$schema": "https://json-schema.org/draft/2019-09/meta/format"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand All @@ -108,7 +108,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_meta_hyperschema) {
"$schema": "https://json-schema.org/draft/2019-09/meta/hyper-schema"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/hyper-schema");
Expand All @@ -119,7 +119,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_meta_meta_data) {
"$schema": "https://json-schema.org/draft/2019-09/meta/meta-data"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand All @@ -130,7 +130,7 @@ TEST(JSONSchema_base_dialect_2019_09, jsonschema_meta_validation) {
"$schema": "https://json-schema.org/draft/2019-09/meta/validation"
})JSON");
const std::optional<std::string> base_dialect{sourcemeta::core::base_dialect(
document, sourcemeta::core::official_resolver)};
document, sourcemeta::core::schema_official_resolver)};
EXPECT_TRUE(base_dialect.has_value());
EXPECT_EQ(base_dialect.value(),
"https://json-schema.org/draft/2019-09/schema");
Expand Down
Loading

5 comments on commit 9f78156

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/llvm)

Benchmark suite Current: 9f78156 Previous: eeee8b4 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.8149041496435243 ns/iter 1.574202409082606 ns/iter 1.15
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.7726250263004253 ns/iter 1.5657428802363467 ns/iter 1.13
Regex_Period_Asterisk 1.7517353102451725 ns/iter 1.5659842824326367 ns/iter 1.12
Regex_Group_Period_Asterisk_Group 1.7782668173105727 ns/iter 1.5674228475532592 ns/iter 1.13
Regex_Period_Plus 2.0926814798592823 ns/iter 1.898787437750302 ns/iter 1.10
Regex_Period 2.235932426693975 ns/iter 1.8829918490383135 ns/iter 1.19
Regex_Caret_Period_Plus_Dollar 2.068572542322751 ns/iter 1.882915898498629 ns/iter 1.10
Regex_Caret_Group_Period_Plus_Group_Dollar 2.133421134746126 ns/iter 1.905824796771796 ns/iter 1.12
Regex_Caret_Period_Asterisk_Dollar 1.8179366305990214 ns/iter 1.59475142672225 ns/iter 1.14
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.741899402916121 ns/iter 1.5868629255267144 ns/iter 1.10
Regex_Caret_X_Hyphen 7.33966098849984 ns/iter 6.5817484066807594 ns/iter 1.12
Regex_Period_Md_Dollar 74.21081455248317 ns/iter 67.85782382468453 ns/iter 1.09
Regex_Caret_Slash_Period_Asterisk 5.592377017047853 ns/iter 5.014689280780032 ns/iter 1.12
Regex_Caret_Period_Range_Dollar 2.6201010503858004 ns/iter 2.199914738072529 ns/iter 1.19
Regex_Nested_Backtrack 889.532881309101 ns/iter 729.2853780854929 ns/iter 1.22
JSON_Array_Of_Objects_Unique 396.2327922010947 ns/iter 326.9754026152866 ns/iter 1.21
JSON_Parse_1 24150.408925991967 ns/iter 21126.853058872028 ns/iter 1.14
JSON_Fast_Hash_Helm_Chart_Lock 55.94654737063668 ns/iter 47.58255428294501 ns/iter 1.18
JSON_Equality_Helm_Chart_Lock 143.12628495378607 ns/iter 118.57622544285837 ns/iter 1.21
JSON_String_Equal/10 9.35102228963665 ns/iter 7.678094502144012 ns/iter 1.22
JSON_String_Equal/100 7.723047118821051 ns/iter 6.1281257834745055 ns/iter 1.26
JSON_String_Equal_Small_By_Perfect_Hash/10 0.35244533595837585 ns/iter 0.31338319838212725 ns/iter 1.12
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.2951537701325675 ns/iter 2.93901215535019 ns/iter 1.12
JSON_String_Fast_Hash/10 1.8322733292425428 ns/iter 1.5763973810940526 ns/iter 1.16
JSON_String_Fast_Hash/100 2.48788930068629 ns/iter 1.8795224827166008 ns/iter 1.32
JSON_String_Key_Hash/10 1.3573837055045914 ns/iter 1.2574323264793936 ns/iter 1.08
JSON_String_Key_Hash/100 1.35882697532982 ns/iter 1.2519948337264935 ns/iter 1.09
JSON_Object_Defines_Miss_Same_Length 2.3760363485182494 ns/iter 2.1913480483975265 ns/iter 1.08
JSON_Object_Defines_Miss_Too_Small 2.46093029735672 ns/iter 2.193168216985182 ns/iter 1.12
JSON_Object_Defines_Miss_Too_Large 2.354293022975008 ns/iter 2.1933265007941087 ns/iter 1.07
Pointer_Object_Traverse 19.27826495586437 ns/iter 17.05045251971464 ns/iter 1.13
Pointer_Object_Try_Traverse 25.914105647135884 ns/iter 21.914687888085858 ns/iter 1.18
Pointer_Push_Back_Pointer_To_Weak_Pointer 195.6004890807307 ns/iter 170.1382242346276 ns/iter 1.15

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Benchmark suite Current: 9f78156 Previous: eeee8b4 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.214934580625004 ns/iter 2.2108609081051327 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.2098685499841837 ns/iter 2.2391461119359164 ns/iter 0.99
Regex_Period_Asterisk 2.207460463379794 ns/iter 2.217377433681511 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.1950048594352354 ns/iter 2.1967525432352 ns/iter 1.00
Regex_Period_Plus 2.800059284486668 ns/iter 2.7997467245200753 ns/iter 1.00
Regex_Period 2.7993142669995965 ns/iter 2.7979387257615738 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.5309324521341168 ns/iter 2.7972639864760698 ns/iter 0.90
Regex_Caret_Group_Period_Plus_Group_Dollar 2.490627081626202 ns/iter 2.7977596602194037 ns/iter 0.89
Regex_Caret_Period_Asterisk_Dollar 2.2579637626666376 ns/iter 3.4173203704813244 ns/iter 0.66
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.2035949614720782 ns/iter 3.4185838072179626 ns/iter 0.64
Regex_Caret_X_Hyphen 13.058236312197078 ns/iter 13.076664256032164 ns/iter 1.00
Regex_Period_Md_Dollar 81.85036121313571 ns/iter 81.91786274558321 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 5.5995588271140715 ns/iter 6.836560091173742 ns/iter 0.82
Regex_Caret_Period_Range_Dollar 2.8004867029826674 ns/iter 4.045269326306317 ns/iter 0.69
Regex_Nested_Backtrack 505.1908975539954 ns/iter 505.55881620691866 ns/iter 1.00
JSON_Array_Of_Objects_Unique 405.3954951538911 ns/iter 402.5793725894212 ns/iter 1.01
JSON_Parse_1 30731.911361239596 ns/iter 30629.35695457375 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 59.42963860139885 ns/iter 59.16715966175035 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 156.38390344700295 ns/iter 163.80073124345293 ns/iter 0.95
JSON_String_Equal/10 7.4723969973777775 ns/iter 6.596144406313535 ns/iter 1.13
JSON_String_Equal/100 8.124521684473597 ns/iter 6.53600380896747 ns/iter 1.24
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9352833561514684 ns/iter 0.9346347063756293 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.600988160490154 ns/iter 10.255262549088286 ns/iter 1.42
JSON_String_Fast_Hash/10 2.5159901866659675 ns/iter 2.4869836319494545 ns/iter 1.01
JSON_String_Fast_Hash/100 2.4916836112013376 ns/iter 2.488012849998057 ns/iter 1.00
JSON_String_Key_Hash/10 2.654364959230388 ns/iter 2.179015289769519 ns/iter 1.22
JSON_String_Key_Hash/100 1.9792294657657667 ns/iter 1.868400614682435 ns/iter 1.06
JSON_Object_Defines_Miss_Same_Length 3.7616571881495875 ns/iter 3.73761693357406 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Small 3.7348564123095773 ns/iter 3.734014650846587 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7422274293700606 ns/iter 3.735140688225413 ns/iter 1.00
Pointer_Object_Traverse 44.42984483164935 ns/iter 44.328882511155875 ns/iter 1.00
Pointer_Object_Try_Traverse 52.424037550013054 ns/iter 52.36549571406911 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 289.5113552066011 ns/iter 295.62387604684784 ns/iter 0.98

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (windows/msvc)

Benchmark suite Current: 9f78156 Previous: eeee8b4 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 6.87245312499434 ns/iter 6.848189285713196 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 6.996374999995884 ns/iter 6.937060267855344 ns/iter 1.01
Regex_Period_Asterisk 7.043151785706772 ns/iter 7.117039062501464 ns/iter 0.99
Regex_Group_Period_Asterisk_Group 6.854569642858418 ns/iter 6.829004464286977 ns/iter 1.00
Regex_Period_Plus 7.43438281249707 ns/iter 7.406154017855573 ns/iter 1.00
Regex_Period 7.163812468017149 ns/iter 7.33842184223911 ns/iter 0.98
Regex_Caret_Period_Plus_Dollar 7.2721037946519935 ns/iter 7.155025669641293 ns/iter 1.02
Regex_Caret_Group_Period_Plus_Group_Dollar 7.36713616070972 ns/iter 7.271935267856934 ns/iter 1.01
Regex_Caret_Period_Asterisk_Dollar 7.156600446427725 ns/iter 6.917888392857309 ns/iter 1.03
Regex_Caret_Group_Period_Asterisk_Group_Dollar 7.047915178566606 ns/iter 6.965229464285016 ns/iter 1.01
Regex_Caret_X_Hyphen 11.912745312500306 ns/iter 11.778487500002655 ns/iter 1.01
Regex_Period_Md_Dollar 149.58930803581032 ns/iter 150.4613839285542 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 10.834940625002787 ns/iter 10.442978124999058 ns/iter 1.04
Regex_Caret_Period_Range_Dollar 7.787271393798248 ns/iter 7.493752198689184 ns/iter 1.04
Regex_Nested_Backtrack 617.2418749997632 ns/iter 605.7165178570959 ns/iter 1.02
JSON_Array_Of_Objects_Unique 486.89827638598916 ns/iter 521.1084000000028 ns/iter 0.93
JSON_Parse_1 81211.9084821055 ns/iter 81933.06919643817 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 66.90710714281067 ns/iter 71.06539285712999 ns/iter 0.94
JSON_Equality_Helm_Chart_Lock 183.64277792240526 ns/iter 190.73224917256536 ns/iter 0.96
JSON_String_Equal/10 8.98976785714061 ns/iter 8.988910674154537 ns/iter 1.00
JSON_String_Equal/100 9.91848879500475 ns/iter 9.921728125000584 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1670853125016265 ns/iter 2.1711937500001 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.85454910715183 ns/iter 14.595638392858998 ns/iter 1.02
JSON_String_Fast_Hash/10 4.053623883924574 ns/iter 4.047149560798574 ns/iter 1.00
JSON_String_Fast_Hash/100 4.034561033990691 ns/iter 4.024541167900606 ns/iter 1.00
JSON_String_Key_Hash/10 7.782887276783462 ns/iter 8.000974517852038 ns/iter 0.97
JSON_String_Key_Hash/100 4.026141212550132 ns/iter 4.0376630429245575 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.717479212941019 ns/iter 3.7240071362072236 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 4.953391000008196 ns/iter 4.9718719999987115 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.406648431413585 ns/iter 3.440082538499864 ns/iter 0.99
Pointer_Object_Traverse 50.040979999994306 ns/iter 50.60863999999583 ns/iter 0.99
Pointer_Object_Try_Traverse 67.54008928567146 ns/iter 67.66316964284361 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 179.99988705357302 ns/iter 182.50236450912308 ns/iter 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Benchmark suite Current: 9f78156 Previous: eeee8b4 Ratio
Pointer_Object_Traverse 46.81195849922776 ns/iter 47.42922090772828 ns/iter 0.99
Pointer_Object_Try_Traverse 26.13433963312741 ns/iter 26.140447423766194 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 173.30767359115782 ns/iter 145.09313957607228 ns/iter 1.19
JSON_Array_Of_Objects_Unique 432.6945040873994 ns/iter 412.278373934213 ns/iter 1.05
JSON_Parse_1 33582.36686049202 ns/iter 33514.63315451741 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 65.2511199128042 ns/iter 62.604196760388994 ns/iter 1.04
JSON_Equality_Helm_Chart_Lock 148.41844642547414 ns/iter 155.41379053811733 ns/iter 0.95
JSON_String_Equal/10 6.3412105369757485 ns/iter 6.345650765284901 ns/iter 1.00
JSON_String_Equal/100 6.817942901666961 ns/iter 6.959308775192976 ns/iter 0.98
JSON_String_Equal_Small_By_Perfect_Hash/10 0.94117369329323 ns/iter 0.9354138145919799 ns/iter 1.01
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.289036218353761 ns/iter 14.301061794932604 ns/iter 1.00
JSON_String_Fast_Hash/10 0.9339957645905962 ns/iter 0.934107881897671 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9322254430938337 ns/iter 0.9331749462058775 ns/iter 1.00
JSON_String_Key_Hash/10 1.6719405689392688 ns/iter 1.6823855385306303 ns/iter 0.99
JSON_String_Key_Hash/100 1.9841756556886831 ns/iter 1.982661164724045 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.4886244264386645 ns/iter 2.4861200932604657 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.4886526860485274 ns/iter 2.493268337228044 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.108697667460751 ns/iter 3.1077040305454076 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.4190865914827304 ns/iter 3.4239330505716 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.4274842639242245 ns/iter 3.4237884840221047 ns/iter 1.00
Regex_Period_Asterisk 3.4201186263762757 ns/iter 3.4254418758036063 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.4179188470109834 ns/iter 3.4187849066785683 ns/iter 1.00
Regex_Period_Plus 3.7311810458302053 ns/iter 3.7361456486782294 ns/iter 1.00
Regex_Period 3.786127262932944 ns/iter 3.4332139012992164 ns/iter 1.10
Regex_Caret_Period_Plus_Dollar 3.7448074688854947 ns/iter 3.4236967898583783 ns/iter 1.09
Regex_Caret_Group_Period_Plus_Group_Dollar 3.4711532818795647 ns/iter 3.435638237607592 ns/iter 1.01
Regex_Caret_Period_Asterisk_Dollar 3.749350436011022 ns/iter 3.7366243792150575 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.733129679791966 ns/iter 3.731207123182937 ns/iter 1.00
Regex_Caret_X_Hyphen 12.432056288371868 ns/iter 13.118059189297366 ns/iter 0.95
Regex_Period_Md_Dollar 88.8065383358503 ns/iter 89.18252972071971 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 8.082334089566555 ns/iter 8.087251057690779 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.668718467553509 ns/iter 3.7485553856067773 ns/iter 1.25
Regex_Nested_Backtrack 828.3505585874228 ns/iter 833.9326712895022 ns/iter 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/gcc)

Benchmark suite Current: 9f78156 Previous: eeee8b4 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.026204661603368 ns/iter 1.9775467675749383 ns/iter 1.02
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0557444814705064 ns/iter 1.9815095212805114 ns/iter 1.04
Regex_Period_Asterisk 2.072147714081021 ns/iter 1.9007176336790017 ns/iter 1.09
Regex_Group_Period_Asterisk_Group 2.3141456612298805 ns/iter 2.0863586954698823 ns/iter 1.11
Regex_Period_Plus 2.0479396389069824 ns/iter 2.741259582632124 ns/iter 0.75
Regex_Period 2.0176757681333206 ns/iter 2.1043798957412183 ns/iter 0.96
Regex_Caret_Period_Plus_Dollar 2.004273546452147 ns/iter 2.091920562348601 ns/iter 0.96
Regex_Caret_Group_Period_Plus_Group_Dollar 2.0364470298115527 ns/iter 1.9713966899053583 ns/iter 1.03
Regex_Caret_Period_Asterisk_Dollar 2.084475610800603 ns/iter 2.160401478303646 ns/iter 0.96
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.4282226925518855 ns/iter 2.416267927768212 ns/iter 1.00
Regex_Caret_X_Hyphen 6.444312136606807 ns/iter 6.627031176475574 ns/iter 0.97
Regex_Period_Md_Dollar 76.59141047831147 ns/iter 76.62784787795925 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 5.640058517456055 ns/iter 4.6852978945564585 ns/iter 1.20
Regex_Caret_Period_Range_Dollar 2.183401508555047 ns/iter 1.9607279775558117 ns/iter 1.11
Regex_Nested_Backtrack 893.5818635176652 ns/iter 843.3256077166175 ns/iter 1.06
JSON_Array_Of_Objects_Unique 212.59116498832967 ns/iter 218.6498051968864 ns/iter 0.97
JSON_Parse_1 26159.877776402758 ns/iter 23838.17808574992 ns/iter 1.10
JSON_Fast_Hash_Helm_Chart_Lock 25.750001845006388 ns/iter 24.394426363415388 ns/iter 1.06
JSON_Equality_Helm_Chart_Lock 119.81589903272769 ns/iter 118.91069340343599 ns/iter 1.01
JSON_String_Equal/10 5.933745470328619 ns/iter 5.722924343804009 ns/iter 1.04
JSON_String_Equal/100 5.7331870677664165 ns/iter 5.354344762190323 ns/iter 1.07
JSON_String_Equal_Small_By_Perfect_Hash/10 0.8231414608203673 ns/iter 0.8141188089566251 ns/iter 1.01
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.7552263237605072 ns/iter 3.6705832530238665 ns/iter 1.02
JSON_String_Fast_Hash/10 2.04934881617062 ns/iter 2.007866434191008 ns/iter 1.02
JSON_String_Fast_Hash/100 2.073956469169083 ns/iter 1.9580395168619087 ns/iter 1.06
JSON_String_Key_Hash/10 1.5834478244216128 ns/iter 1.4362981128128565 ns/iter 1.10
JSON_String_Key_Hash/100 2.1584915382947343 ns/iter 1.9252299082431414 ns/iter 1.12
JSON_Object_Defines_Miss_Same_Length 2.0954668525045217 ns/iter 1.7241320811771217 ns/iter 1.22
JSON_Object_Defines_Miss_Too_Small 2.0462044982975427 ns/iter 1.8814336928115438 ns/iter 1.09
JSON_Object_Defines_Miss_Too_Large 1.8568784811239738 ns/iter 1.7236810369418731 ns/iter 1.08
Pointer_Object_Traverse 58.72231027510378 ns/iter 54.08054521630487 ns/iter 1.09
Pointer_Object_Try_Traverse 40.52479275617672 ns/iter 36.46296678134313 ns/iter 1.11
Pointer_Push_Back_Pointer_To_Weak_Pointer 172.8734237906307 ns/iter 165.14505028220867 ns/iter 1.05

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.