Skip to content

Commit

Permalink
Remove signpost tracing for now (#240)
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 26, 2024
1 parent e40a75e commit 58a5e1a
Show file tree
Hide file tree
Showing 6 changed files with 3 additions and 71 deletions.
2 changes: 1 addition & 1 deletion src/evaluator/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
noa_library(NAMESPACE sourcemeta PROJECT blaze NAME evaluator
FOLDER "Blaze/Evaluator"
PRIVATE_HEADERS error.h value.h instruction.h
SOURCES evaluator.cc trace.h dispatch.inc.h
SOURCES evaluator.cc dispatch.inc.h
evaluator_complete.h evaluator_fast.h)

if(BLAZE_INSTALL)
Expand Down
2 changes: 0 additions & 2 deletions src/evaluator/dispatch.inc.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
SOURCEMETA_TRACE_REGISTER_ID(trace_id);

using namespace sourcemeta::jsontoolkit;
using namespace sourcemeta::blaze;

Expand Down
2 changes: 0 additions & 2 deletions src/evaluator/evaluator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
#include <sourcemeta/jsontoolkit/regex.h>
#include <sourcemeta/jsontoolkit/uri.h>

#include "trace.h"

#include <algorithm> // std::min, std::any_of, std::find
#include <cassert> // assert
#include <functional> // std::reference_wrapper
Expand Down
20 changes: 1 addition & 19 deletions src/evaluator/evaluator_complete.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#define SOURCEMETA_BLAZE_EVALUATOR_COMPLETE_H_

#define EVALUATE_BEGIN(instruction_category, instruction_type, precondition) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
const auto track{schema.track || callback.has_value()}; \
if (track) { \
Expand All @@ -28,7 +27,6 @@
if (schema.dynamic) { \
evaluator.resources.pop_back(); \
} \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
if (callback.has_value()) { \
Expand All @@ -40,7 +38,6 @@

#define EVALUATE_BEGIN_NON_STRING(instruction_category, instruction_type, \
precondition) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
const auto track{schema.track || callback.has_value()}; \
if (track) { \
Expand All @@ -64,7 +61,6 @@
if (schema.dynamic) { \
evaluator.resources.pop_back(); \
} \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
if (callback.has_value()) { \
Expand All @@ -75,7 +71,6 @@
bool result{false};

#define EVALUATE_BEGIN_IF_STRING(instruction_category, instruction_type) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
const auto track{schema.track || callback.has_value()}; \
if (track) { \
Expand All @@ -100,7 +95,6 @@
if (schema.dynamic) { \
evaluator.resources.pop_back(); \
} \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
if (callback.has_value()) { \
Expand All @@ -115,17 +109,14 @@
// instance location twice.
#define EVALUATE_BEGIN_TRY_TARGET(instruction_category, instruction_type, \
precondition) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &target{instance}; \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
if (!(precondition)) { \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
const auto target_check{ \
try_get(target, instruction_category.relative_instance_location)}; \
if (!target_check.has_value()) { \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
const auto track{schema.track || callback.has_value()}; \
Expand All @@ -147,7 +138,6 @@
bool result{false};

#define EVALUATE_BEGIN_NO_PRECONDITION(instruction_category, instruction_type) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
const auto track{schema.track || callback.has_value()}; \
if (track) { \
Expand All @@ -168,7 +158,6 @@

#define EVALUATE_BEGIN_NO_PRECONDITION_AND_NO_PUSH(instruction_category, \
instruction_type) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
if (callback.has_value()) { \
callback.value()(EvaluationType::Pre, true, instruction, \
Expand All @@ -178,7 +167,6 @@
bool result{true};

#define EVALUATE_BEGIN_PASS_THROUGH(instruction_category, instruction_type) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
bool result{true};

Expand All @@ -197,7 +185,6 @@
if (schema.dynamic) { \
evaluator.resources.pop_back(); \
} \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return result;

#define EVALUATE_END_NO_POP(instruction_category, instruction_type) \
Expand All @@ -206,16 +193,12 @@
evaluator.evaluate_path, evaluator.instance_location, \
Evaluator::null); \
} \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return result;

#define EVALUATE_END_PASS_THROUGH(instruction_type) \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return result;
#define EVALUATE_END_PASS_THROUGH(instruction_type) return result;

#define EVALUATE_ANNOTATION(instruction_category, instruction_type, \
destination, annotation_value) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
if (callback.has_value()) { \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
evaluator.evaluate_path.push_back( \
Expand All @@ -231,7 +214,6 @@
evaluator.instance_location.pop_back( \
instruction_category.relative_instance_location.size()); \
} \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true;

#define EVALUATE_RECURSE(child, target) \
Expand Down
18 changes: 1 addition & 17 deletions src/evaluator/evaluator_fast.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
#define SOURCEMETA_BLAZE_EVALUATOR_FAST_H_

#define EVALUATE_BEGIN(instruction_category, instruction_type, precondition) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
const auto &target{resolve_target( \
property_target, \
sourcemeta::jsontoolkit::get( \
instance, instruction_category.relative_instance_location))}; \
if (!(precondition)) { \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
constexpr bool track{false}; \
Expand All @@ -18,51 +16,43 @@

#define EVALUATE_BEGIN_NON_STRING(instruction_category, instruction_type, \
precondition) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
const auto &target{sourcemeta::jsontoolkit::get( \
instance, instruction_category.relative_instance_location)}; \
if (!(precondition)) { \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
constexpr bool track{false}; \
SOURCEMETA_MAYBE_UNUSED(track); \
bool result{false};

#define EVALUATE_BEGIN_IF_STRING(instruction_category, instruction_type) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
const auto &maybe_target{ \
resolve_string_target(property_target, instance, \
instruction_category.relative_instance_location)}; \
if (!maybe_target.has_value()) { \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
const auto &target{maybe_target.value().get()}; \
bool result{false};

#define EVALUATE_BEGIN_TRY_TARGET(instruction_category, instruction_type, \
precondition) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &target{instance}; \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
if (!(precondition)) { \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
auto target_check{ \
try_get(target, instruction_category.relative_instance_location)}; \
if (!target_check.has_value()) { \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true; \
} \
assert(!instruction_category.relative_instance_location.empty()); \
bool result{false};

#define EVALUATE_BEGIN_NO_PRECONDITION(instruction_category, instruction_type) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
SOURCEMETA_MAYBE_UNUSED(instruction_category); \
constexpr bool track{false}; \
Expand All @@ -71,18 +61,14 @@

#define EVALUATE_BEGIN_NO_PRECONDITION_AND_NO_PUSH(instruction_category, \
instruction_type) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
bool result{true};

#define EVALUATE_BEGIN_PASS_THROUGH(instruction_category, instruction_type) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
const auto &instruction_category{std::get<instruction_type>(instruction)}; \
bool result{true};

#define EVALUATE_END(instruction_category, instruction_type) \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return result;
#define EVALUATE_END(instruction_category, instruction_type) return result;

#define EVALUATE_END_NO_POP(instruction_category, instruction_type) \
EVALUATE_END(instruction_category, instruction_type)
Expand All @@ -92,8 +78,6 @@

#define EVALUATE_ANNOTATION(instruction_category, instruction_type, \
destination, annotation_value) \
SOURCEMETA_TRACE_START(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
SOURCEMETA_TRACE_END(trace_id, SOURCEMETA_STRINGIFY(instruction_type)); \
return true;

#define EVALUATE_RECURSE(child, target) \
Expand Down
30 changes: 0 additions & 30 deletions src/evaluator/trace.h

This file was deleted.

5 comments on commit 58a5e1a

@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: 58a5e1a Previous: e40a75e Ratio
Compiler_Draft6_AdaptiveCard 33750721165.999947 ns/iter 48817219249.99999 ns/iter 0.69
Compiler_2019_09_OMC_JSON_V2 6753688792.000048 ns/iter 10117611082.99993 ns/iter 0.67
Evaluator_Draft4_Meta_1_No_Callback 248.85436507595927 ns/iter 270.629158277977 ns/iter 0.92
Evaluator_Draft4_Required_Properties 336.84239148617445 ns/iter 423.7884785647427 ns/iter 0.79
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 21.621050130019345 ns/iter 28.94603647104128 ns/iter 0.75
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 10.72254199342474 ns/iter 15.535429726966832 ns/iter 0.69
Evaluator_Draft4_Items_Schema 388.18849329735446 ns/iter 577.5524699987137 ns/iter 0.67
Evaluator_Draft4_Nested_Object 2.926781764756526 ns/iter 4.631023600751486 ns/iter 0.63
Evaluator_Draft4_Properties_Triad_Optional 804.990845083673 ns/iter 1095.813063512887 ns/iter 0.73
Evaluator_Draft4_Properties_Triad_Closed 682.5646072767948 ns/iter 1000.6346961754065 ns/iter 0.68
Evaluator_Draft4_Properties_Triad_Required 807.7924194471747 ns/iter 1230.3780533047345 ns/iter 0.66
Evaluator_Draft4_Properties_Closed 100.44850593069499 ns/iter 144.1314702769452 ns/iter 0.70
Evaluator_Draft4_Non_Recursive_Ref 11.388151179768343 ns/iter 16.631416526209858 ns/iter 0.68
Evaluator_Draft4_Pattern_Properties_True 187.1369809003688 ns/iter 260.61085459000606 ns/iter 0.72
Evaluator_Draft4_Ref_To_Single_Property 11.996227351381648 ns/iter 16.10010223128359 ns/iter 0.75
Evaluator_Draft4_Additional_Properties_Type 22.453452517570472 ns/iter 29.831917323058242 ns/iter 0.75
Evaluator_Draft4_Nested_Oneof 75.98432036061268 ns/iter 95.77300144375343 ns/iter 0.79
Evaluator_Draft4_Long_Enum 21.126233433879616 ns/iter 27.745553677662485 ns/iter 0.76
Evaluator_Draft4_Type_Object 6.923178562000674 ns/iter 8.085963557613322 ns/iter 0.86
Evaluator_Draft6_Property_Names 158.01520383120865 ns/iter 191.0689022630857 ns/iter 0.83
Evaluator_Draft7_If_Then_Else 32.19539399714055 ns/iter 37.00031293382904 ns/iter 0.87
Evaluator_Draft7_Vercel_1 76074.09240003978 ns/iter 90348.70752186641 ns/iter 0.84
Evaluator_Draft7_Helm_Chart_Lock_1 246.9771033223926 ns/iter 322.0810933388115 ns/iter 0.77
Evaluator_2019_09_Unevaluated_Properties 153.9695218200499 ns/iter 206.97420494161162 ns/iter 0.74
Evaluator_2019_09_OMC_JSON_V2_1 2531.708650126985 ns/iter 3769.3002783088805 ns/iter 0.67
Evaluator_2020_12_Dynamic_Ref 532.994114538653 ns/iter 739.2567985806556 ns/iter 0.72

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: 58a5e1a Previous: e40a75e Ratio
Compiler_Draft6_AdaptiveCard 52904306349.00002 ns/iter 54423657344.999985 ns/iter 0.97
Compiler_2019_09_OMC_JSON_V2 10763207938.999983 ns/iter 10823478998.999973 ns/iter 0.99
Evaluator_Draft4_Meta_1_No_Callback 354.6059032942426 ns/iter 359.82518867806425 ns/iter 0.99
Evaluator_Draft4_Required_Properties 776.9791429026652 ns/iter 780.8100726855722 ns/iter 1.00
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 38.62602237468546 ns/iter 38.34732127790888 ns/iter 1.01
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 23.693754695955874 ns/iter 23.544056560811434 ns/iter 1.01
Evaluator_Draft4_Items_Schema 736.6280618847036 ns/iter 729.0813773334096 ns/iter 1.01
Evaluator_Draft4_Nested_Object 4.947449159345495 ns/iter 4.949537036051377 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Optional 1197.9045748629703 ns/iter 1207.0032605573308 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Closed 1012.1874865000136 ns/iter 1012.9945898041933 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Required 1237.279131129014 ns/iter 1230.4525743009835 ns/iter 1.01
Evaluator_Draft4_Properties_Closed 134.95437899394602 ns/iter 138.08464245013468 ns/iter 0.98
Evaluator_Draft4_Non_Recursive_Ref 29.38541828215805 ns/iter 29.43572480175474 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 262.6176294674075 ns/iter 267.5958905049829 ns/iter 0.98
Evaluator_Draft4_Ref_To_Single_Property 23.539012676929147 ns/iter 22.978137433365916 ns/iter 1.02
Evaluator_Draft4_Additional_Properties_Type 56.16415343616135 ns/iter 55.40511850181069 ns/iter 1.01
Evaluator_Draft4_Nested_Oneof 141.36952988113458 ns/iter 142.23657474393443 ns/iter 0.99
Evaluator_Draft4_Long_Enum 22.021028464318736 ns/iter 21.989790026974664 ns/iter 1.00
Evaluator_Draft4_Type_Object 11.441492835154214 ns/iter 11.478081486010407 ns/iter 1.00
Evaluator_Draft6_Property_Names 257.4502375888309 ns/iter 280.1116704594047 ns/iter 0.92
Evaluator_Draft7_If_Then_Else 58.12751657589522 ns/iter 57.47168929281891 ns/iter 1.01
Evaluator_Draft7_Vercel_1 91547.93293860229 ns/iter 89677.07128204276 ns/iter 1.02
Evaluator_Draft7_Helm_Chart_Lock_1 336.83819991341966 ns/iter 335.70166817355704 ns/iter 1.00
Evaluator_2019_09_Unevaluated_Properties 182.77678463696458 ns/iter 182.75110430438983 ns/iter 1.00
Evaluator_2019_09_OMC_JSON_V2_1 3245.403605894487 ns/iter 3253.4435883794863 ns/iter 1.00
Evaluator_2020_12_Dynamic_Ref 850.7686816802997 ns/iter 824.8872906585227 ns/iter 1.03

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: 58a5e1a Previous: e40a75e Ratio
Evaluator_2020_12_Dynamic_Ref 846.8001023906925 ns/iter 894.6430538147869 ns/iter 0.95
Evaluator_2019_09_Unevaluated_Properties 240.16910317077142 ns/iter 244.70026868942327 ns/iter 0.98
Evaluator_2019_09_OMC_JSON_V2_1 5068.330519397266 ns/iter 5090.280994659038 ns/iter 1.00
Evaluator_Draft7_If_Then_Else 54.63949038116262 ns/iter 52.635076196937156 ns/iter 1.04
Evaluator_Draft7_Vercel_1 112117.80231232732 ns/iter 112062.1758581601 ns/iter 1.00
Evaluator_Draft7_Helm_Chart_Lock_1 497.4010326315082 ns/iter 501.2520044708467 ns/iter 0.99
Evaluator_Draft6_Property_Names 499.7139886305722 ns/iter 500.6331939999882 ns/iter 1.00
Evaluator_Draft4_Meta_1_No_Callback 444.89449364097794 ns/iter 436.0546435354649 ns/iter 1.02
Evaluator_Draft4_Required_Properties 1723.15190035931 ns/iter 1741.7187726619516 ns/iter 0.99
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 39.71639040047299 ns/iter 39.75426515067681 ns/iter 1.00
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 33.83926848618656 ns/iter 33.82038971551802 ns/iter 1.00
Evaluator_Draft4_Items_Schema 603.067426797248 ns/iter 600.2389095080944 ns/iter 1.00
Evaluator_Draft4_Nested_Object 3.485103931141155 ns/iter 3.485934998419041 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Optional 1316.2894243691192 ns/iter 1299.8720453299334 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Closed 1083.8543345849166 ns/iter 1094.9440008117012 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Required 1368.6641100689537 ns/iter 1343.1733889390377 ns/iter 1.02
Evaluator_Draft4_Properties_Closed 188.48069438420706 ns/iter 188.9552809539695 ns/iter 1.00
Evaluator_Draft4_Non_Recursive_Ref 52.6826262238797 ns/iter 52.64428411950008 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 353.1430979358084 ns/iter 355.09402631743654 ns/iter 0.99
Evaluator_Draft4_Ref_To_Single_Property 38.16275979233756 ns/iter 38.402496382207474 ns/iter 0.99
Evaluator_Draft4_Additional_Properties_Type 111.55274989156848 ns/iter 111.55687602316699 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 118.86867164915239 ns/iter 118.74700886121472 ns/iter 1.00
Evaluator_Draft4_Long_Enum 20.7895130991975 ns/iter 21.196818621621706 ns/iter 0.98
Evaluator_Draft4_Type_Object 10.627529937584884 ns/iter 10.60833577396368 ns/iter 1.00
Compiler_2019_09_OMC_JSON_V2 11149089327.999945 ns/iter 11220616228.00004 ns/iter 0.99
Compiler_Draft6_AdaptiveCard 60791600315.99997 ns/iter 60659365181 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: 58a5e1a Previous: e40a75e Ratio
Compiler_Draft6_AdaptiveCard 49709096908.569336 ns/iter 43964349269.86694 ns/iter 1.13
Compiler_2019_09_OMC_JSON_V2 10412559032.440186 ns/iter 9028306007.385254 ns/iter 1.15
Evaluator_Draft4_Meta_1_No_Callback 349.0835594516846 ns/iter 297.4632514824388 ns/iter 1.17
Evaluator_Draft4_Required_Properties 578.2306668467223 ns/iter 490.2498845267513 ns/iter 1.18
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 26.663248570523802 ns/iter 23.78427558802281 ns/iter 1.12
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 18.469691306039554 ns/iter 14.83657172626785 ns/iter 1.24
Evaluator_Draft4_Items_Schema 611.4838338135019 ns/iter 500.3715360502632 ns/iter 1.22
Evaluator_Draft4_Nested_Object 2.547180495973728 ns/iter 2.092611021812014 ns/iter 1.22
Evaluator_Draft4_Properties_Triad_Optional 969.2213744595757 ns/iter 891.3828756072995 ns/iter 1.09
Evaluator_Draft4_Properties_Triad_Closed 810.821268890791 ns/iter 887.0844366504565 ns/iter 0.91
Evaluator_Draft4_Properties_Triad_Required 1094.578000158944 ns/iter 909.644864661377 ns/iter 1.20
Evaluator_Draft4_Properties_Closed 105.54059869964553 ns/iter 112.35965079018193 ns/iter 0.94
Evaluator_Draft4_Non_Recursive_Ref 21.41009746093559 ns/iter 21.70699071570736 ns/iter 0.99
Evaluator_Draft4_Pattern_Properties_True 253.0811131997183 ns/iter 232.63658072535821 ns/iter 1.09
Evaluator_Draft4_Ref_To_Single_Property 14.378499458284423 ns/iter 14.187630903177586 ns/iter 1.01
Evaluator_Draft4_Additional_Properties_Type 36.92742122292262 ns/iter 38.87868896009624 ns/iter 0.95
Evaluator_Draft4_Nested_Oneof 84.00129569665415 ns/iter 84.06725760912485 ns/iter 1.00
Evaluator_Draft4_Long_Enum 12.515883909647224 ns/iter 12.150235037128173 ns/iter 1.03
Evaluator_Draft4_Type_Object 6.181778732066696 ns/iter 7.86214155105757 ns/iter 0.79
Evaluator_Draft6_Property_Names 192.08791062483098 ns/iter 192.62821066364168 ns/iter 1.00
Evaluator_Draft7_If_Then_Else 33.30820775812708 ns/iter 33.72339825310928 ns/iter 0.99
Evaluator_Draft7_Vercel_1 80099.76850563713 ns/iter 94976.17776859309 ns/iter 0.84
Evaluator_Draft7_Helm_Chart_Lock_1 252.15779788038154 ns/iter 255.25591390486844 ns/iter 0.99
Evaluator_2019_09_Unevaluated_Properties 153.9002039930021 ns/iter 153.50539338497822 ns/iter 1.00
Evaluator_2019_09_OMC_JSON_V2_1 2498.1772418136625 ns/iter 2307.2584070407734 ns/iter 1.08
Evaluator_2020_12_Dynamic_Ref 618.5765206036374 ns/iter 544.8339645044713 ns/iter 1.14

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: 58a5e1a Previous: e40a75e Ratio
Compiler_Draft6_AdaptiveCard 124131966800.0001 ns/iter 129652336500.00005 ns/iter 0.96
Compiler_2019_09_OMC_JSON_V2 26184637500.000008 ns/iter 27334855700.00016 ns/iter 0.96
Evaluator_Draft4_Meta_1_No_Callback 455.28940966279254 ns/iter 451.36681883042047 ns/iter 1.01
Evaluator_Draft4_Required_Properties 799.1589289471447 ns/iter 799.6364955355416 ns/iter 1.00
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 42.558628419316946 ns/iter 42.180131249992314 ns/iter 1.01
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 23.380174999999785 ns/iter 23.20274304461342 ns/iter 1.01
Evaluator_Draft4_Items_Schema 690.2352678570217 ns/iter 685.5268749999611 ns/iter 1.01
Evaluator_Draft4_Nested_Object 4.039705319713579 ns/iter 4.026933400047897 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Optional 1702.5840161268045 ns/iter 1696.8301360507871 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Closed 1412.3914676824493 ns/iter 1402.1137936991804 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Required 1718.1784699696236 ns/iter 1723.5451404833934 ns/iter 1.00
Evaluator_Draft4_Properties_Closed 160.7295535714164 ns/iter 158.42053571429713 ns/iter 1.01
Evaluator_Draft4_Non_Recursive_Ref 19.134018920836137 ns/iter 18.912364454577677 ns/iter 1.01
Evaluator_Draft4_Pattern_Properties_True 308.9514588223686 ns/iter 308.2902678571031 ns/iter 1.00
Evaluator_Draft4_Ref_To_Single_Property 24.450782142853964 ns/iter 24.504192857136786 ns/iter 1.00
Evaluator_Draft4_Additional_Properties_Type 35.00411223221011 ns/iter 34.4690162405147 ns/iter 1.02
Evaluator_Draft4_Nested_Oneof 167.6804264071711 ns/iter 167.0063326120077 ns/iter 1.00
Evaluator_Draft4_Long_Enum 44.871999999998025 ns/iter 44.96655808065341 ns/iter 1.00
Evaluator_Draft4_Type_Object 10.429372721296746 ns/iter 10.245903972114625 ns/iter 1.02
Evaluator_Draft6_Property_Names 460.7495624999558 ns/iter 432.8712997788882 ns/iter 1.06
Evaluator_Draft7_If_Then_Else 61.55008035713244 ns/iter 62.82132142857222 ns/iter 0.98
Evaluator_Draft7_Vercel_1 120724.21428574184 ns/iter 115807.1428571361 ns/iter 1.04
Evaluator_Draft7_Helm_Chart_Lock_1 365.7432739744418 ns/iter 366.1202560499973 ns/iter 1.00
Evaluator_2019_09_Unevaluated_Properties 428.4763258779666 ns/iter 420.5872499998975 ns/iter 1.02
Evaluator_2019_09_OMC_JSON_V2_1 4322.814387136454 ns/iter 4409.167942335688 ns/iter 0.98
Evaluator_2020_12_Dynamic_Ref 1386.4710774684156 ns/iter 1396.16877403192 ns/iter 0.99

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

Please sign in to comment.