Skip to content

Commit

Permalink
Stop requiring EvaluationContext resets (#196)
Browse files Browse the repository at this point in the history
Signed-off-by: Juan Cruz Viotti <[email protected]>
  • Loading branch information
jviotti authored Nov 21, 2024
1 parent d429378 commit 98ee359
Show file tree
Hide file tree
Showing 7 changed files with 9 additions and 21 deletions.
1 change: 0 additions & 1 deletion bindings/nodejs/wrapper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ class Wrapper {
assert(schema < this->schemas.size());
assert(this->schemas[schema].has_value());
const auto instance{sourcemeta::jsontoolkit::parse(instance_string)};
this->context.reset();
const auto result{sourcemeta::blaze::evaluate(this->schemas[schema].value(),
instance, context)};
return emscripten::val(result);
Expand Down
1 change: 0 additions & 1 deletion contrib/perf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,6 @@ class PerfEvents {
bool validate_all(auto &context, const auto &instances,
const auto &schema_template) {
for (std::size_t num = 0; num < instances.size(); num++) {
context.reset();
const auto result{
sourcemeta::blaze::evaluate(schema_template, instances[num], context)};
if (!result) {
Expand Down
1 change: 0 additions & 1 deletion contrib/validate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ auto main(int argc, char **argv) noexcept -> int {
sourcemeta::blaze::EvaluationContext context;
std::size_t cursor{0};
for (const auto &instance : instances) {
context.reset();
cursor += 1;
const auto timestamp_start{std::chrono::high_resolution_clock::now()};
const auto result{
Expand Down
11 changes: 0 additions & 11 deletions src/evaluator/context.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,6 @@

namespace sourcemeta::blaze {

// Do a full reset for the next run
auto EvaluationContext::reset() -> void {
assert(this->evaluate_path.empty());
assert(this->evaluate_path_size == 0);
assert(this->instance_location.empty());
assert(!this->property_target.has_value());
assert(this->resources.empty());
this->labels.clear();
this->evaluated_.clear();
}

auto EvaluationContext::push(
const sourcemeta::jsontoolkit::Pointer &relative_schema_location,
const sourcemeta::jsontoolkit::Pointer &relative_instance_location,
Expand Down
9 changes: 9 additions & 0 deletions src/evaluator/evaluator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,15 @@ auto evaluate(const Instructions &steps,
auto evaluate(const Instructions &steps,
const sourcemeta::jsontoolkit::JSON &instance,
EvaluationContext &context) -> bool {
// Do a full reset for the next run
assert(context.evaluate_path.empty());
assert(context.evaluate_path_size == 0);
assert(context.instance_location.empty());
assert(!context.property_target.has_value());
assert(context.resources.empty());
context.labels.clear();
context.evaluated_.clear();

return evaluate_internal(instance, context, steps, std::nullopt);
}

Expand Down
3 changes: 0 additions & 3 deletions src/evaluator/include/sourcemeta/blaze/evaluator_context.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ namespace sourcemeta::blaze {
/// Represents a stateful schema evaluation context
class SOURCEMETA_BLAZE_EVALUATOR_EXPORT EvaluationContext {
public:
/// Prepare the schema evaluation context for the next run
auto reset() -> void;

// All of these methods are considered internal and no
// client must depend on them
#ifndef DOXYGEN
Expand Down
4 changes: 0 additions & 4 deletions test/evaluator/evaluator_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -95,22 +95,18 @@ TEST(Evaluator, reusable_context) {
sourcemeta::blaze::EvaluationContext context;

const sourcemeta::jsontoolkit::JSON instance_1{"foo bar"};
context.reset();
EXPECT_TRUE(
sourcemeta::blaze::evaluate(compiled_schema, instance_1, context));

const sourcemeta::jsontoolkit::JSON instance_2{"baz"};
context.reset();
EXPECT_TRUE(
sourcemeta::blaze::evaluate(compiled_schema, instance_2, context));

const sourcemeta::jsontoolkit::JSON instance_3{4};
context.reset();
EXPECT_FALSE(
sourcemeta::blaze::evaluate(compiled_schema, instance_3, context));

const sourcemeta::jsontoolkit::JSON instance_4{"qux"};
context.reset();
EXPECT_TRUE(
sourcemeta::blaze::evaluate(compiled_schema, instance_4, context));
}

8 comments on commit 98ee359

@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: 98ee359 Previous: d429378 Ratio
Compiler_Draft6_AdaptiveCard 33075867833.99995 ns/iter 33869075541.00003 ns/iter 0.98
Compiler_2019_09_OMC_JSON_V2 6844521250.000071 ns/iter 7457006834.000026 ns/iter 0.92
Evaluator_Draft4_Meta_1_No_Callback 292.60944851153494 ns/iter 315.4127299495079 ns/iter 0.93
Evaluator_Draft4_Required_Properties 431.89246778746815 ns/iter 426.20834256296877 ns/iter 1.01
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 33.73644344981925 ns/iter 32.19173559267376 ns/iter 1.05
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 16.21749759410151 ns/iter 15.837418160244313 ns/iter 1.02
Evaluator_Draft4_Items_Schema 819.3798346015253 ns/iter 906.2363350378153 ns/iter 0.90
Evaluator_Draft4_Nested_Object 4.511207902675339 ns/iter 4.632104967739324 ns/iter 0.97
Evaluator_Draft4_Properties_Triad_Optional 1054.662280896639 ns/iter 1152.9786607526387 ns/iter 0.91
Evaluator_Draft4_Properties_Triad_Closed 760.7806422372311 ns/iter 739.429071007644 ns/iter 1.03
Evaluator_Draft4_Properties_Triad_Required 1052.402813475538 ns/iter 1102.4990020397079 ns/iter 0.95
Evaluator_Draft4_Properties_Closed 199.94370756046035 ns/iter 215.72495436982254 ns/iter 0.93
Evaluator_Draft4_Non_Recursive_Ref 15.915238432699956 ns/iter 19.298400525791504 ns/iter 0.82
Evaluator_Draft4_Pattern_Properties_True 1199.5668009515327 ns/iter 1344.3039797708866 ns/iter 0.89
Evaluator_Draft4_Ref_To_Single_Property 16.958944433752006 ns/iter 19.60933872640681 ns/iter 0.86
Evaluator_Draft4_Additional_Properties_Type 26.508684458076395 ns/iter 32.20132448040058 ns/iter 0.82
Evaluator_Draft4_Nested_Oneof 110.47831037345297 ns/iter 122.50519740035678 ns/iter 0.90
Evaluator_Draft4_Long_Enum 24.820832001845993 ns/iter 31.431629422744095 ns/iter 0.79
Evaluator_Draft4_Type_Object 10.453195742202473 ns/iter 13.674114543973058 ns/iter 0.76
Evaluator_Draft6_Property_Names 338.5312977412292 ns/iter 448.2033169541215 ns/iter 0.76
Evaluator_Draft7_If_Then_Else 41.127960299026995 ns/iter 51.5519917000006 ns/iter 0.80
Evaluator_Draft7_Vercel_1 95890.75616621684 ns/iter 109568.09978768083 ns/iter 0.88
Evaluator_2019_09_Unevaluated_Properties 223.9960150853882 ns/iter 272.88031875007243 ns/iter 0.82
Evaluator_2019_09_OMC_JSON_V2_1 6786.078528302582 ns/iter 6771.918922379706 ns/iter 1.00
Evaluator_2020_12_Dynamic_Ref 702.308683776133 ns/iter 715.9692261916981 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: 98ee359 Previous: d429378 Ratio
Compiler_Draft6_AdaptiveCard 118894268700 ns/iter 118860020400.00017 ns/iter 1.00
Compiler_2019_09_OMC_JSON_V2 25241986699.99987 ns/iter 25252950800.000008 ns/iter 1.00
Evaluator_Draft4_Meta_1_No_Callback 932.8594942590238 ns/iter 948.1739517081787 ns/iter 0.98
Evaluator_Draft4_Required_Properties 1379.6457142855647 ns/iter 1381.0525977444083 ns/iter 1.00
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 155.45676339284242 ns/iter 157.24433035713452 ns/iter 0.99
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 110.1406250000281 ns/iter 109.95979687500324 ns/iter 1.00
Evaluator_Draft4_Items_Schema 2905.093033440839 ns/iter 2897.3128583427956 ns/iter 1.00
Evaluator_Draft4_Nested_Object 59.178607142870625 ns/iter 57.687089285707316 ns/iter 1.03
Evaluator_Draft4_Properties_Triad_Optional 4844.925821362136 ns/iter 4798.9502892412465 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Closed 3943.687500000641 ns/iter 3884.4359206495737 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Required 4837.033269673247 ns/iter 4782.599961161424 ns/iter 1.01
Evaluator_Draft4_Properties_Closed 367.2027737138349 ns/iter 364.43409216217543 ns/iter 1.01
Evaluator_Draft4_Non_Recursive_Ref 160.23825892860697 ns/iter 161.3885487537357 ns/iter 0.99
Evaluator_Draft4_Pattern_Properties_True 7755.238839285893 ns/iter 9575.9103753981 ns/iter 0.81
Evaluator_Draft4_Ref_To_Single_Property 111.22479687500686 ns/iter 111.49056250001621 ns/iter 1.00
Evaluator_Draft4_Additional_Properties_Type 245.03893470543727 ns/iter 246.16114285712294 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 395.72059151790233 ns/iter 388.5649553572179 ns/iter 1.02
Evaluator_Draft4_Long_Enum 130.63826872151722 ns/iter 132.792201661085 ns/iter 0.98
Evaluator_Draft4_Type_Object 83.57466591183113 ns/iter 84.27658552336182 ns/iter 0.99
Evaluator_Draft6_Property_Names 1396.2999570089905 ns/iter 1332.3726641192736 ns/iter 1.05
Evaluator_Draft7_If_Then_Else 199.2975357456234 ns/iter 197.2746872566284 ns/iter 1.01
Evaluator_Draft7_Vercel_1 233901.40609309208 ns/iter 239746.1667224247 ns/iter 0.98
Evaluator_2019_09_Unevaluated_Properties 725.7060267856932 ns/iter 724.2931249998768 ns/iter 1.00
Evaluator_2019_09_OMC_JSON_V2_1 16058.995535713297 ns/iter 16909.296044394356 ns/iter 0.95
Evaluator_2020_12_Dynamic_Ref 2214.257684980711 ns/iter 2234.3991803583563 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/llvm)

Benchmark suite Current: 98ee359 Previous: d429378 Ratio
Compiler_Draft6_AdaptiveCard 58072639471 ns/iter 57421976225.99997 ns/iter 1.01
Compiler_2019_09_OMC_JSON_V2 11078637030.000038 ns/iter 11005830929.000013 ns/iter 1.01
Evaluator_Draft4_Meta_1_No_Callback 498.6381137922496 ns/iter 489.79802664547634 ns/iter 1.02
Evaluator_Draft4_Required_Properties 1000.5978199956663 ns/iter 984.6879959913601 ns/iter 1.02
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 58.34629699215346 ns/iter 58.02187209469437 ns/iter 1.01
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 39.433048510028335 ns/iter 39.05665100414386 ns/iter 1.01
Evaluator_Draft4_Items_Schema 1574.894928988744 ns/iter 1573.0087437521092 ns/iter 1.00
Evaluator_Draft4_Nested_Object 11.490366013793425 ns/iter 11.236175832253 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Optional 1321.2342933123348 ns/iter 1345.6709897611713 ns/iter 0.98
Evaluator_Draft4_Properties_Triad_Closed 1022.0713306578366 ns/iter 1027.31604697103 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Required 1372.649455010265 ns/iter 1392.6797623443156 ns/iter 0.99
Evaluator_Draft4_Properties_Closed 178.50519069867394 ns/iter 176.3135360659238 ns/iter 1.01
Evaluator_Draft4_Non_Recursive_Ref 44.32128017818778 ns/iter 44.22192325409685 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 2025.4857299654225 ns/iter 2045.0074253030318 ns/iter 0.99
Evaluator_Draft4_Ref_To_Single_Property 40.00822863561792 ns/iter 38.68054013795335 ns/iter 1.03
Evaluator_Draft4_Additional_Properties_Type 74.04377773383595 ns/iter 69.14113968493626 ns/iter 1.07
Evaluator_Draft4_Nested_Oneof 188.10848151378477 ns/iter 187.69004893439492 ns/iter 1.00
Evaluator_Draft4_Long_Enum 34.147360411465996 ns/iter 34.05563566599899 ns/iter 1.00
Evaluator_Draft4_Type_Object 23.797224447122915 ns/iter 23.886168454447063 ns/iter 1.00
Evaluator_Draft6_Property_Names 690.4107992601155 ns/iter 680.6993721910379 ns/iter 1.01
Evaluator_Draft7_If_Then_Else 90.95800346124744 ns/iter 100.63668339711798 ns/iter 0.90
Evaluator_Draft7_Vercel_1 149983.64853895127 ns/iter 147690.17371359468 ns/iter 1.02
Evaluator_2019_09_Unevaluated_Properties 295.38505550732225 ns/iter 296.93902553541716 ns/iter 0.99
Evaluator_2019_09_OMC_JSON_V2_1 10764.57261599564 ns/iter 11789.109426826792 ns/iter 0.91
Evaluator_2020_12_Dynamic_Ref 1105.5662141603414 ns/iter 1091.7769988756409 ns/iter 1.01

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: 98ee359 Previous: d429378 Ratio
Compiler_Draft6_AdaptiveCard 117884100000.00021 ns/iter 118860020400.00017 ns/iter 0.99
Compiler_2019_09_OMC_JSON_V2 25130311300.00013 ns/iter 25252950800.000008 ns/iter 1.00
Evaluator_Draft4_Meta_1_No_Callback 926.7469969880237 ns/iter 948.1739517081787 ns/iter 0.98
Evaluator_Draft4_Required_Properties 1368.2432142855662 ns/iter 1381.0525977444083 ns/iter 0.99
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 158.9375223214213 ns/iter 157.24433035713452 ns/iter 1.01
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 109.84103124997091 ns/iter 109.95979687500324 ns/iter 1.00
Evaluator_Draft4_Items_Schema 2883.794784020151 ns/iter 2897.3128583427956 ns/iter 1.00
Evaluator_Draft4_Nested_Object 58.297187499992525 ns/iter 57.687089285707316 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Optional 4828.007875018154 ns/iter 4798.9502892412465 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Closed 3891.536800827221 ns/iter 3884.4359206495737 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Required 4822.809239114858 ns/iter 4782.599961161424 ns/iter 1.01
Evaluator_Draft4_Properties_Closed 366.23954090353686 ns/iter 364.43409216217543 ns/iter 1.00
Evaluator_Draft4_Non_Recursive_Ref 160.3679464285587 ns/iter 161.3885487537357 ns/iter 0.99
Evaluator_Draft4_Pattern_Properties_True 7663.631696429109 ns/iter 9575.9103753981 ns/iter 0.80
Evaluator_Draft4_Ref_To_Single_Property 111.38782142856891 ns/iter 111.49056250001621 ns/iter 1.00
Evaluator_Draft4_Additional_Properties_Type 243.36305319612737 ns/iter 246.16114285712294 ns/iter 0.99
Evaluator_Draft4_Nested_Oneof 386.88297991080435 ns/iter 388.5649553572179 ns/iter 1.00
Evaluator_Draft4_Long_Enum 129.4560357143025 ns/iter 132.792201661085 ns/iter 0.97
Evaluator_Draft4_Type_Object 86.4533482142755 ns/iter 84.27658552336182 ns/iter 1.03
Evaluator_Draft6_Property_Names 1325.7908928571687 ns/iter 1332.3726641192736 ns/iter 1.00
Evaluator_Draft7_If_Then_Else 194.07176812178497 ns/iter 197.2746872566284 ns/iter 0.98
Evaluator_Draft7_Vercel_1 234749.07934383655 ns/iter 239746.1667224247 ns/iter 0.98
Evaluator_2019_09_Unevaluated_Properties 736.4155133929376 ns/iter 724.2931249998768 ns/iter 1.02
Evaluator_2019_09_OMC_JSON_V2_1 16201.287946425884 ns/iter 16909.296044394356 ns/iter 0.96
Evaluator_2020_12_Dynamic_Ref 2207.050312499348 ns/iter 2234.3991803583563 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/llvm)

Benchmark suite Current: 98ee359 Previous: d429378 Ratio
Compiler_Draft6_AdaptiveCard 33396548542.000004 ns/iter 33869075541.00003 ns/iter 0.99
Compiler_2019_09_OMC_JSON_V2 7044725416.000006 ns/iter 7457006834.000026 ns/iter 0.94
Evaluator_Draft4_Meta_1_No_Callback 325.0421654667166 ns/iter 315.4127299495079 ns/iter 1.03
Evaluator_Draft4_Required_Properties 414.3326351612066 ns/iter 426.20834256296877 ns/iter 0.97
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 29.61797338845576 ns/iter 32.19173559267376 ns/iter 0.92
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 15.37710073209397 ns/iter 15.837418160244313 ns/iter 0.97
Evaluator_Draft4_Items_Schema 804.1972914132958 ns/iter 906.2363350378153 ns/iter 0.89
Evaluator_Draft4_Nested_Object 4.404672212896917 ns/iter 4.632104967739324 ns/iter 0.95
Evaluator_Draft4_Properties_Triad_Optional 1021.4877329961104 ns/iter 1152.9786607526387 ns/iter 0.89
Evaluator_Draft4_Properties_Triad_Closed 750.8267409679993 ns/iter 739.429071007644 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Required 1016.1479560813794 ns/iter 1102.4990020397079 ns/iter 0.92
Evaluator_Draft4_Properties_Closed 197.59464431989716 ns/iter 215.72495436982254 ns/iter 0.92
Evaluator_Draft4_Non_Recursive_Ref 15.394130875867052 ns/iter 19.298400525791504 ns/iter 0.80
Evaluator_Draft4_Pattern_Properties_True 1171.3806439783893 ns/iter 1344.3039797708866 ns/iter 0.87
Evaluator_Draft4_Ref_To_Single_Property 17.12410097612994 ns/iter 19.60933872640681 ns/iter 0.87
Evaluator_Draft4_Additional_Properties_Type 27.29061119065616 ns/iter 32.20132448040058 ns/iter 0.85
Evaluator_Draft4_Nested_Oneof 106.77910222121255 ns/iter 122.50519740035678 ns/iter 0.87
Evaluator_Draft4_Long_Enum 24.168778301204952 ns/iter 31.431629422744095 ns/iter 0.77
Evaluator_Draft4_Type_Object 10.344654517711408 ns/iter 13.674114543973058 ns/iter 0.76
Evaluator_Draft6_Property_Names 330.96019702261503 ns/iter 448.2033169541215 ns/iter 0.74
Evaluator_Draft7_If_Then_Else 41.19977194137581 ns/iter 51.5519917000006 ns/iter 0.80
Evaluator_Draft7_Vercel_1 98485.88089400984 ns/iter 109568.09978768083 ns/iter 0.90
Evaluator_2019_09_Unevaluated_Properties 224.51234165893752 ns/iter 272.88031875007243 ns/iter 0.82
Evaluator_2019_09_OMC_JSON_V2_1 6718.614492202243 ns/iter 6771.918922379706 ns/iter 0.99
Evaluator_2020_12_Dynamic_Ref 698.5507204152599 ns/iter 715.9692261916981 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 (linux/llvm)

Benchmark suite Current: 98ee359 Previous: d429378 Ratio
Compiler_Draft6_AdaptiveCard 57584026961.99999 ns/iter 57421976225.99997 ns/iter 1.00
Compiler_2019_09_OMC_JSON_V2 11002271302.999987 ns/iter 11005830929.000013 ns/iter 1.00
Evaluator_Draft4_Meta_1_No_Callback 479.87134880318416 ns/iter 489.79802664547634 ns/iter 0.98
Evaluator_Draft4_Required_Properties 976.9764644061395 ns/iter 984.6879959913601 ns/iter 0.99
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 63.64315131521227 ns/iter 58.02187209469437 ns/iter 1.10
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 39.84047213540934 ns/iter 39.05665100414386 ns/iter 1.02
Evaluator_Draft4_Items_Schema 1527.9046411677957 ns/iter 1573.0087437521092 ns/iter 0.97
Evaluator_Draft4_Nested_Object 12.384102318118464 ns/iter 11.236175832253 ns/iter 1.10
Evaluator_Draft4_Properties_Triad_Optional 1310.2626751587823 ns/iter 1345.6709897611713 ns/iter 0.97
Evaluator_Draft4_Properties_Triad_Closed 1021.1103465655617 ns/iter 1027.31604697103 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Required 1355.8099471277292 ns/iter 1392.6797623443156 ns/iter 0.97
Evaluator_Draft4_Properties_Closed 170.43820449977608 ns/iter 176.3135360659238 ns/iter 0.97
Evaluator_Draft4_Non_Recursive_Ref 47.682270722814756 ns/iter 44.22192325409685 ns/iter 1.08
Evaluator_Draft4_Pattern_Properties_True 1987.6264369934738 ns/iter 2045.0074253030318 ns/iter 0.97
Evaluator_Draft4_Ref_To_Single_Property 39.6390701622186 ns/iter 38.68054013795335 ns/iter 1.02
Evaluator_Draft4_Additional_Properties_Type 77.14487701622171 ns/iter 69.14113968493626 ns/iter 1.12
Evaluator_Draft4_Nested_Oneof 189.83448841892013 ns/iter 187.69004893439492 ns/iter 1.01
Evaluator_Draft4_Long_Enum 34.668327902064476 ns/iter 34.05563566599899 ns/iter 1.02
Evaluator_Draft4_Type_Object 24.1450267364341 ns/iter 23.886168454447063 ns/iter 1.01
Evaluator_Draft6_Property_Names 656.7923344516073 ns/iter 680.6993721910379 ns/iter 0.96
Evaluator_Draft7_If_Then_Else 91.24205544253205 ns/iter 100.63668339711798 ns/iter 0.91
Evaluator_Draft7_Vercel_1 148110.64761127596 ns/iter 147690.17371359468 ns/iter 1.00
Evaluator_2019_09_Unevaluated_Properties 297.0612188263259 ns/iter 296.93902553541716 ns/iter 1.00
Evaluator_2019_09_OMC_JSON_V2_1 10376.885198206202 ns/iter 11789.109426826792 ns/iter 0.88
Evaluator_2020_12_Dynamic_Ref 1052.9299660063148 ns/iter 1091.7769988756409 ns/iter 0.96

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: 98ee359 Previous: d2382c4 Ratio
Evaluator_2020_12_Dynamic_Ref 1086.764198400473 ns/iter 1098.0125032198707 ns/iter 0.99
Evaluator_2019_09_Unevaluated_Properties 345.0987618039781 ns/iter 335.9455549066503 ns/iter 1.03
Evaluator_2019_09_OMC_JSON_V2_1 13125.354323434374 ns/iter 13182.297979606612 ns/iter 1.00
Evaluator_Draft7_If_Then_Else 81.34560268475295 ns/iter 81.27465770753372 ns/iter 1.00
Evaluator_Draft7_Vercel_1 156919.44444445803 ns/iter 160655.84439111513 ns/iter 0.98
Evaluator_Draft6_Property_Names 1400.3302653785995 ns/iter 1367.038758505014 ns/iter 1.02
Evaluator_Draft4_Meta_1_No_Callback 584.6565132742047 ns/iter 572.1457468845764 ns/iter 1.02
Evaluator_Draft4_Required_Properties 1835.6426202191442 ns/iter 1854.430640349144 ns/iter 0.99
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 55.850355772278995 ns/iter 56.03177310482673 ns/iter 1.00
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 44.036624012987666 ns/iter 44.35762852037205 ns/iter 0.99
Evaluator_Draft4_Items_Schema 1424.6732976625105 ns/iter 1437.9657335523577 ns/iter 0.99
Evaluator_Draft4_Nested_Object 6.815182901798315 ns/iter 6.829183487608123 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Optional 1409.807570505344 ns/iter 1383.1024146380005 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Closed 1123.4833111660407 ns/iter 1083.688839842867 ns/iter 1.04
Evaluator_Draft4_Properties_Triad_Required 1481.334493926283 ns/iter 1440.6931141710681 ns/iter 1.03
Evaluator_Draft4_Properties_Closed 217.96457654214169 ns/iter 221.66582361150463 ns/iter 0.98
Evaluator_Draft4_Non_Recursive_Ref 61.732026969669676 ns/iter 61.732039691673606 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 2136.9458418595364 ns/iter 2113.877489769081 ns/iter 1.01
Evaluator_Draft4_Ref_To_Single_Property 48.165037426536884 ns/iter 48.38113648229623 ns/iter 1.00
Evaluator_Draft4_Additional_Properties_Type 115.63737175123784 ns/iter 115.9244071946007 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 170.50270557545375 ns/iter 173.95018957496785 ns/iter 0.98
Evaluator_Draft4_Long_Enum 28.20989602035607 ns/iter 29.556118718084363 ns/iter 0.95
Evaluator_Draft4_Type_Object 19.63081548730869 ns/iter 19.803931582083894 ns/iter 0.99
Compiler_2019_09_OMC_JSON_V2 11467411000.99996 ns/iter 11519955510.999922 ns/iter 1.00
Compiler_Draft6_AdaptiveCard 65649132757.999954 ns/iter 65899052987.99999 ns/iter 1.00

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: 98ee359 Previous: d2382c4 Ratio
Compiler_Draft6_AdaptiveCard 41415614128.11279 ns/iter 42480653047.561646 ns/iter 0.97
Compiler_2019_09_OMC_JSON_V2 7738124132.156372 ns/iter 7841613769.53125 ns/iter 0.99
Evaluator_Draft4_Meta_1_No_Callback 310.28487927046064 ns/iter 304.88801334474596 ns/iter 1.02
Evaluator_Draft4_Required_Properties 549.1454538831657 ns/iter 581.6715514020516 ns/iter 0.94
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 31.15805614890863 ns/iter 31.12400632442525 ns/iter 1.00
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 20.774660132633578 ns/iter 20.83558094955579 ns/iter 1.00
Evaluator_Draft4_Items_Schema 958.1584877263472 ns/iter 932.9563223283958 ns/iter 1.03
Evaluator_Draft4_Nested_Object 4.165478835152513 ns/iter 4.160244083743239 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Optional 1046.6425270617144 ns/iter 1047.208262406611 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Closed 833.0580093860963 ns/iter 827.4510978922445 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Required 1043.4510238986932 ns/iter 1057.107248544959 ns/iter 0.99
Evaluator_Draft4_Properties_Closed 117.95649998759913 ns/iter 124.56886185745411 ns/iter 0.95
Evaluator_Draft4_Non_Recursive_Ref 23.853152038526368 ns/iter 24.45185117040029 ns/iter 0.98
Evaluator_Draft4_Pattern_Properties_True 1606.3410357266582 ns/iter 1645.3148350054093 ns/iter 0.98
Evaluator_Draft4_Ref_To_Single_Property 20.09168275141982 ns/iter 21.03285433509991 ns/iter 0.96
Evaluator_Draft4_Additional_Properties_Type 38.06673036813513 ns/iter 37.854820420786865 ns/iter 1.01
Evaluator_Draft4_Nested_Oneof 110.29359379654434 ns/iter 109.75843499183333 ns/iter 1.00
Evaluator_Draft4_Long_Enum 15.405512926126674 ns/iter 15.449127332794024 ns/iter 1.00
Evaluator_Draft4_Type_Object 11.638736282363816 ns/iter 11.3999150917675 ns/iter 1.02
Evaluator_Draft6_Property_Names 452.84975303868396 ns/iter 445.15243049504505 ns/iter 1.02
Evaluator_Draft7_If_Then_Else 49.86946209816375 ns/iter 49.87406704317983 ns/iter 1.00
Evaluator_Draft7_Vercel_1 99091.24775435869 ns/iter 98368.51544803924 ns/iter 1.01
Evaluator_2019_09_Unevaluated_Properties 239.18386334395808 ns/iter 257.82711104552624 ns/iter 0.93
Evaluator_2019_09_OMC_JSON_V2_1 6480.6182222552925 ns/iter 6449.656532341458 ns/iter 1.00
Evaluator_2020_12_Dynamic_Ref 761.3847419954412 ns/iter 826.9097080340066 ns/iter 0.92

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

Please sign in to comment.