Skip to content

Commit

Permalink
Rename Full framing mode to Instances (#1551)
Browse files Browse the repository at this point in the history
Signed-off-by: Juan Cruz Viotti <[email protected]>
  • Loading branch information
jviotti authored Feb 11, 2025
1 parent 2d4878f commit 9606eec
Show file tree
Hide file tree
Showing 15 changed files with 192 additions and 192 deletions.
6 changes: 3 additions & 3 deletions benchmark/jsonschema.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
#include <sourcemeta/core/json.h>
#include <sourcemeta/core/jsonschema.h>

static void Schema_Frame_OMC_Full(benchmark::State &state) {
static void Schema_Frame_OMC_Instances(benchmark::State &state) {
const auto schema{
sourcemeta::core::read_json(std::filesystem::path{CURRENT_DIRECTORY} /
"schemas" / "2019_09_omc_json_v2.json")};

for (auto _ : state) {
sourcemeta::core::SchemaFrame frame{
sourcemeta::core::SchemaFrame::Mode::Full};
sourcemeta::core::SchemaFrame::Mode::Instances};
frame.analyse(schema, sourcemeta::core::schema_official_walker,
sourcemeta::core::schema_official_resolver);
benchmark::DoNotOptimize(frame);
Expand Down Expand Up @@ -47,6 +47,6 @@ static void Schema_Bundle_Meta_2020_12(benchmark::State &state) {
}
}

BENCHMARK(Schema_Frame_OMC_Full);
BENCHMARK(Schema_Frame_OMC_Instances);
BENCHMARK(Schema_Frame_OMC_References);
BENCHMARK(Schema_Bundle_Meta_2020_12);
10 changes: 5 additions & 5 deletions src/core/jsonschema/frame.cc
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ auto internal_analyse(const sourcemeta::core::SchemaFrame::Mode mode,
default_id.has_value() &&
root_id.value() != default_id.value()};
if (has_explicit_different_id) {
if (mode == SchemaFrame::Mode::Full) {
if (mode == SchemaFrame::Mode::Instances) {
store(frame, SchemaReferenceType::Static,
SchemaFrame::LocationType::Resource, default_id.value(),
root_id.value(), root_id.value(), sourcemeta::core::empty_pointer,
Expand Down Expand Up @@ -496,7 +496,7 @@ auto internal_analyse(const sourcemeta::core::SchemaFrame::Mode mode,
sourcemeta::core::empty_pointer,
entry.common.dialect.value(),
entry.common.base_dialect.value(), {}, entry.common.parent);
} else if (mode == SchemaFrame::Mode::Full) {
} else if (mode == SchemaFrame::Mode::Instances) {
store(frame, SchemaReferenceType::Static,
SchemaFrame::LocationType::Resource, new_id, root_id,
new_id, entry.common.pointer,
Expand Down Expand Up @@ -552,7 +552,7 @@ auto internal_analyse(const sourcemeta::core::SchemaFrame::Mode mode,
find_nearest_bases(base_uris, entry.common.pointer, entry.id)};

std::vector<sourcemeta::core::PointerTemplate> instance_locations;
if (!entry.common.orphan && mode == SchemaFrame::Mode::Full) {
if (!entry.common.orphan && mode == SchemaFrame::Mode::Instances) {
instance_locations.push_back(entry.common.instance_location);
}

Expand Down Expand Up @@ -692,7 +692,7 @@ auto internal_analyse(const sourcemeta::core::SchemaFrame::Mode mode,
pointer.resolve_from(nearest_bases.second),
dialects.first.front(), current_base_dialect, {},
subschema->second.parent);
} else if (mode == SchemaFrame::Mode::Full) {
} else if (mode == SchemaFrame::Mode::Instances) {
store(frame, SchemaReferenceType::Static,
SchemaFrame::LocationType::Subschema, result, root_id,
current_base, pointer,
Expand Down Expand Up @@ -885,7 +885,7 @@ auto internal_analyse(const sourcemeta::core::SchemaFrame::Mode mode,
}
}

if (mode == sourcemeta::core::SchemaFrame::Mode::Full) {
if (mode == sourcemeta::core::SchemaFrame::Mode::Instances) {
// We only care about marking reference origins from/to resources and
// subschemas

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ namespace sourcemeta::core {
/// })JSON");
///
/// sourcemeta::core::SchemaFrame
/// frame{sourcemeta::core::SchemaFrame::Mode::Full};
/// frame{sourcemeta::core::SchemaFrame::Mode::References};
///
/// frame.analyse(document,
/// sourcemeta::core::schema_official_walker,
Expand Down Expand Up @@ -105,7 +105,7 @@ class SOURCEMETA_CORE_JSONSCHEMA_EXPORT SchemaFrame {
public:
/// The mode of framing. More extensive analysis can be compute and memory
/// intensive
enum class Mode { References, Full };
enum class Mode { References, Instances };

SchemaFrame(const Mode mode) : mode_{mode} {}

Expand Down Expand Up @@ -260,7 +260,7 @@ using SchemaUnevaluatedEntries = std::map<std::string, SchemaUnevaluatedEntry>;
/// })JSON");
///
/// sourcemeta::core::SchemaFrame
/// frame{sourcemeta::core::SchemaFrame::Mode::Full};
/// frame{sourcemeta::core::SchemaFrame::Mode::References};
///
/// frame.analyse(document,
/// sourcemeta::core::schema_official_walker,
Expand Down
Loading

8 comments on commit 9606eec

@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: 9606eec Previous: 2d4878f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.220385641483895 ns/iter 2.2066725287545097 ns/iter 1.01
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1997799346754174 ns/iter 2.2016486828698834 ns/iter 1.00
Regex_Period_Asterisk 2.208429379465759 ns/iter 2.231035049630127 ns/iter 0.99
Regex_Group_Period_Asterisk_Group 2.1948944299393105 ns/iter 2.2011654513711885 ns/iter 1.00
Regex_Period_Plus 2.460177705527265 ns/iter 2.486872980913686 ns/iter 0.99
Regex_Period 2.2750584229538715 ns/iter 2.4862780452360305 ns/iter 0.92
Regex_Caret_Period_Plus_Dollar 2.249016251894301 ns/iter 2.4884569312596563 ns/iter 0.90
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2589085272408154 ns/iter 2.4895595432695945 ns/iter 0.91
Regex_Caret_Period_Asterisk_Dollar 2.486564331092406 ns/iter 3.419300135863282 ns/iter 0.73
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.1992270448867672 ns/iter 3.421199507134536 ns/iter 0.64
Regex_Caret_X_Hyphen 12.656200964602649 ns/iter 12.549874117949992 ns/iter 1.01
Regex_Period_Md_Dollar 73.93295924933538 ns/iter 74.54785450941642 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 6.216774073929028 ns/iter 6.283336002401898 ns/iter 0.99
Regex_Caret_Period_Range_Dollar 4.041730874395384 ns/iter 4.0395358172316085 ns/iter 1.00
Regex_Nested_Backtrack 492.58079069902436 ns/iter 455.8177263274391 ns/iter 1.08
JSON_Array_Of_Objects_Unique 446.1250089691606 ns/iter 434.8537310617485 ns/iter 1.03
JSON_Parse_1 30788.759022375463 ns/iter 30848.18771984607 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 56.498354498016134 ns/iter 56.428906132230175 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 153.1308411481614 ns/iter 156.54678530676446 ns/iter 0.98
JSON_String_Equal/10 6.8400227488166845 ns/iter 6.841490459595429 ns/iter 1.00
JSON_String_Equal/100 7.4653038455891965 ns/iter 7.471597154875715 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9355536511343497 ns/iter 0.9345557787316117 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.662709482437725 ns/iter 14.599377003091133 ns/iter 1.00
JSON_String_Fast_Hash/10 2.1743143224755 ns/iter 2.176243302504555 ns/iter 1.00
JSON_String_Fast_Hash/100 2.1846402786427244 ns/iter 2.1751520107874582 ns/iter 1.00
JSON_String_Key_Hash/10 2.69716586103887 ns/iter 2.696218753000271 ns/iter 1.00
JSON_String_Key_Hash/100 2.179953458279485 ns/iter 2.178229324466861 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.733638726512556 ns/iter 3.7344874591098502 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7360910255583404 ns/iter 3.7336543338798416 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.732840257500357 ns/iter 3.738571449177284 ns/iter 1.00
Pointer_Object_Traverse 43.88662411717053 ns/iter 43.28794853638728 ns/iter 1.01
Pointer_Object_Try_Traverse 52.60089608927545 ns/iter 52.965253134251064 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 288.3624063317218 ns/iter 290.03908338895724 ns/iter 0.99
Schema_Frame_OMC_Instances 284386314.5000114 ns/iter
Schema_Frame_OMC_References 133035866.19999805 ns/iter 138973555.40000263 ns/iter 0.96
Schema_Bundle_Meta_2020_12 6533252.037384556 ns/iter 6633879.273578096 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 (macos/llvm)

Benchmark suite Current: 9606eec Previous: 2d4878f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.8248976713644103 ns/iter 1.8418445055878898 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.7427043867533332 ns/iter 1.7369165905229722 ns/iter 1.00
Regex_Period_Asterisk 1.870215664527188 ns/iter 1.8949664360555758 ns/iter 0.99
Regex_Group_Period_Asterisk_Group 1.8028120796262739 ns/iter 1.712363365279054 ns/iter 1.05
Regex_Period_Plus 2.1856717889321593 ns/iter 2.155743588970207 ns/iter 1.01
Regex_Period 2.5130879374599444 ns/iter 2.0645810503830346 ns/iter 1.22
Regex_Caret_Period_Plus_Dollar 2.2619248303414525 ns/iter 2.082902974850119 ns/iter 1.09
Regex_Caret_Group_Period_Plus_Group_Dollar 2.293165583059233 ns/iter 2.088517583041955 ns/iter 1.10
Regex_Caret_Period_Asterisk_Dollar 2.253907234654453 ns/iter 1.6900706016185225 ns/iter 1.33
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.1355069442945003 ns/iter 1.69072861735923 ns/iter 1.26
Regex_Caret_X_Hyphen 9.21487497430608 ns/iter 7.067891616662544 ns/iter 1.30
Regex_Period_Md_Dollar 93.76183554967204 ns/iter 75.42136431491811 ns/iter 1.24
Regex_Caret_Slash_Period_Asterisk 6.57939349634887 ns/iter 5.3996745142153895 ns/iter 1.22
Regex_Caret_Period_Range_Dollar 2.75045736447494 ns/iter 2.51796210615187 ns/iter 1.09
Regex_Nested_Backtrack 907.4980944252153 ns/iter 848.457765271573 ns/iter 1.07
JSON_Array_Of_Objects_Unique 426.2450501546796 ns/iter 369.7646574603196 ns/iter 1.15
JSON_Parse_1 31816.45860071979 ns/iter 23151.886199349105 ns/iter 1.37
JSON_Fast_Hash_Helm_Chart_Lock 64.87197150738275 ns/iter 51.21340854706697 ns/iter 1.27
JSON_Equality_Helm_Chart_Lock 166.86605293026426 ns/iter 132.43793103312515 ns/iter 1.26
JSON_String_Equal/10 11.12331334550052 ns/iter 8.14632478717672 ns/iter 1.37
JSON_String_Equal/100 8.75044074895684 ns/iter 6.556695183329354 ns/iter 1.33
JSON_String_Equal_Small_By_Perfect_Hash/10 0.42088988601360194 ns/iter 0.34059797498608585 ns/iter 1.24
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.190684189204787 ns/iter 3.1531138194757093 ns/iter 1.33
JSON_String_Fast_Hash/10 2.240294614949888 ns/iter 1.7014176891684123 ns/iter 1.32
JSON_String_Fast_Hash/100 2.8711944818403716 ns/iter 2.118172229609978 ns/iter 1.36
JSON_String_Key_Hash/10 1.885726071646377 ns/iter 1.465328138754462 ns/iter 1.29
JSON_String_Key_Hash/100 1.7578831019808445 ns/iter 1.3487060542718068 ns/iter 1.30
JSON_Object_Defines_Miss_Same_Length 2.8122803587862806 ns/iter 2.445008277276593 ns/iter 1.15
JSON_Object_Defines_Miss_Too_Small 2.890351512181845 ns/iter 2.387703477328835 ns/iter 1.21
JSON_Object_Defines_Miss_Too_Large 2.7173361481574156 ns/iter 2.3882277027269896 ns/iter 1.14
Pointer_Object_Traverse 18.231932565388174 ns/iter 16.674246692986614 ns/iter 1.09
Pointer_Object_Try_Traverse 24.322068227470012 ns/iter 23.545083272449105 ns/iter 1.03
Pointer_Push_Back_Pointer_To_Weak_Pointer 225.13746141968596 ns/iter 187.41970347090395 ns/iter 1.20
Schema_Frame_OMC_Instances 280031353.9999593 ns/iter
Schema_Frame_OMC_References 139119208.39998403 ns/iter 107387351.14284737 ns/iter 1.30
Schema_Bundle_Meta_2020_12 6198695.992598173 ns/iter 5020220.6875065155 ns/iter 1.23

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: 9606eec Previous: 2d4878f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 6.802503348214576 ns/iter 7.108718750000266 ns/iter 0.96
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 6.5261830357142365 ns/iter 6.850714285714536 ns/iter 0.95
Regex_Period_Asterisk 6.634155133927574 ns/iter 6.594600892857524 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 6.886773437500945 ns/iter 6.913975000000303 ns/iter 1.00
Regex_Period_Plus 7.003737723214292 ns/iter 6.928854910714932 ns/iter 1.01
Regex_Period 6.963825892858059 ns/iter 6.885295758928425 ns/iter 1.01
Regex_Caret_Period_Plus_Dollar 7.573933035714171 ns/iter 7.006886160714845 ns/iter 1.08
Regex_Caret_Group_Period_Plus_Group_Dollar 6.885953124999844 ns/iter 6.953795058242192 ns/iter 0.99
Regex_Caret_Period_Asterisk_Dollar 7.278075892855895 ns/iter 6.589536830357647 ns/iter 1.10
Regex_Caret_Group_Period_Asterisk_Group_Dollar 6.669816071428564 ns/iter 6.743794642857079 ns/iter 0.99
Regex_Caret_X_Hyphen 14.4809577478554 ns/iter 11.888199999999317 ns/iter 1.22
Regex_Period_Md_Dollar 163.0852006530244 ns/iter 161.3025866943821 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 9.98349821428438 ns/iter 10.178753125000384 ns/iter 0.98
Regex_Caret_Period_Range_Dollar 7.521049107140751 ns/iter 7.555937499999895 ns/iter 1.00
Regex_Nested_Backtrack 602.6878571428742 ns/iter 612.1163392857097 ns/iter 0.98
JSON_Array_Of_Objects_Unique 418.41894484235235 ns/iter 415.6724778952572 ns/iter 1.01
JSON_Parse_1 96108.35676979202 ns/iter 81060.53571428669 ns/iter 1.19
JSON_Fast_Hash_Helm_Chart_Lock 56.36984000000211 ns/iter 62.481374999998295 ns/iter 0.90
JSON_Equality_Helm_Chart_Lock 187.30951031090174 ns/iter 193.09694581221999 ns/iter 0.97
JSON_String_Equal/10 9.276695047872977 ns/iter 9.307522726305992 ns/iter 1.00
JSON_String_Equal/100 9.922905759272687 ns/iter 10.046355758722326 ns/iter 0.99
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1638746875005666 ns/iter 2.1736056250002633 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.764122255520007 ns/iter 14.657107142857585 ns/iter 1.01
JSON_String_Fast_Hash/10 3.098416071428086 ns/iter 3.1312565673924952 ns/iter 0.99
JSON_String_Fast_Hash/100 3.095029910714483 ns/iter 3.150255004922175 ns/iter 0.98
JSON_String_Key_Hash/10 7.737854910713691 ns/iter 7.697683035713863 ns/iter 1.01
JSON_String_Key_Hash/100 3.7141923147961706 ns/iter 3.7194855522235524 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 4.026180676832913 ns/iter 4.041440848214783 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.4155780742572484 ns/iter 3.4170768242554774 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.718994235259582 ns/iter 3.722962493352147 ns/iter 1.00
Pointer_Object_Traverse 52.811535714291885 ns/iter 52.87814000000708 ns/iter 1.00
Pointer_Object_Try_Traverse 65.78391964284589 ns/iter 65.16390178571133 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 160.73631696430976 ns/iter 179.16598921126345 ns/iter 0.90
Schema_Frame_OMC_Instances 500705550.0000206 ns/iter
Schema_Frame_OMC_References 340744999.9999699 ns/iter 356708749.9999957 ns/iter 0.96
Schema_Bundle_Meta_2020_12 16229907.317066556 ns/iter 16251928.888891598 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 (linux/gcc)

Benchmark suite Current: 9606eec Previous: 2d4878f Ratio
Schema_Frame_OMC_Instances 301451246.49999386 ns/iter
Schema_Frame_OMC_References 133908074.39998297 ns/iter 137615369.8000053 ns/iter 0.97
Schema_Bundle_Meta_2020_12 6818324.127450256 ns/iter 6743311.211543266 ns/iter 1.01
Pointer_Object_Traverse 49.30355814629237 ns/iter 46.615497194439065 ns/iter 1.06
Pointer_Object_Try_Traverse 23.662442535110937 ns/iter 23.670859395421743 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 176.7035683378252 ns/iter 172.661617279745 ns/iter 1.02
JSON_Array_Of_Objects_Unique 372.47411982466116 ns/iter 371.0126796143011 ns/iter 1.00
JSON_Parse_1 34179.15544879241 ns/iter 33946.06959547557 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 64.30378343313855 ns/iter 63.08332900630892 ns/iter 1.02
JSON_Equality_Helm_Chart_Lock 151.00538087775067 ns/iter 152.53308934074727 ns/iter 0.99
JSON_String_Equal/10 5.99070936242756 ns/iter 5.994217239978427 ns/iter 1.00
JSON_String_Equal/100 6.614396397757268 ns/iter 6.613276921079918 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9337772167001317 ns/iter 0.9338910710618247 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.491038070370408 ns/iter 25.477247248995216 ns/iter 1.00
JSON_String_Fast_Hash/10 0.9329518267041977 ns/iter 0.9352450863231342 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9330711716187492 ns/iter 0.9326801225614997 ns/iter 1.00
JSON_String_Key_Hash/10 1.2450469415796401 ns/iter 1.2449191799381347 ns/iter 1.00
JSON_String_Key_Hash/100 0.9360526981189933 ns/iter 0.9337183053964694 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.509157571589678 ns/iter 2.4891494143651527 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Small 2.4918137792701915 ns/iter 2.502471054719272 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.8016366535405055 ns/iter 2.797709323788669 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.42182270541926 ns/iter 3.4281505908318133 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.4250799853886793 ns/iter 3.419951750135104 ns/iter 1.00
Regex_Period_Asterisk 3.425165334192459 ns/iter 3.4224681548627096 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.418414132799014 ns/iter 3.421340635494158 ns/iter 1.00
Regex_Period_Plus 3.731979444051726 ns/iter 3.731951602543933 ns/iter 1.00
Regex_Period 3.7293462454664734 ns/iter 3.73030940312755 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.76566744329621 ns/iter 3.7364326897714277 ns/iter 1.01
Regex_Caret_Group_Period_Plus_Group_Dollar 3.5514023881920447 ns/iter 3.6370565828837234 ns/iter 0.98
Regex_Caret_Period_Asterisk_Dollar 3.4207677137332415 ns/iter 4.6631754445536 ns/iter 0.73
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4263556920942255 ns/iter 4.661139636251863 ns/iter 0.74
Regex_Caret_X_Hyphen 13.177205900775519 ns/iter 13.67720371020128 ns/iter 0.96
Regex_Period_Md_Dollar 88.65647280184379 ns/iter 89.1954478610632 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 8.706410278668592 ns/iter 9.643168450463621 ns/iter 0.90
Regex_Caret_Period_Range_Dollar 4.673115460246642 ns/iter 3.6986304965749666 ns/iter 1.26
Regex_Nested_Backtrack 821.0839572793273 ns/iter 818.9619258687983 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: 9606eec Previous: 2d4878f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9245138086838118 ns/iter 1.9164090398753755 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9983120166820805 ns/iter 1.9487842137835212 ns/iter 1.03
Regex_Period_Asterisk 1.926513323617554 ns/iter 1.905003434636041 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 1.929205250905584 ns/iter 1.9551929348981785 ns/iter 0.99
Regex_Period_Plus 1.619314649171615 ns/iter 1.6035808636398419 ns/iter 1.01
Regex_Period 1.5949652029383707 ns/iter 1.6160855367514075 ns/iter 0.99
Regex_Caret_Period_Plus_Dollar 1.643563852092897 ns/iter 1.6000757321468082 ns/iter 1.03
Regex_Caret_Group_Period_Plus_Group_Dollar 1.6002000428386671 ns/iter 1.6612673677858005 ns/iter 0.96
Regex_Caret_Period_Asterisk_Dollar 1.9135229170776036 ns/iter 2.0436894654361746 ns/iter 0.94
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.939346064743509 ns/iter 1.9275895250120019 ns/iter 1.01
Regex_Caret_X_Hyphen 6.0196665686653645 ns/iter 6.174240033623989 ns/iter 0.97
Regex_Period_Md_Dollar 69.18340618965767 ns/iter 72.43026600147135 ns/iter 0.96
Regex_Caret_Slash_Period_Asterisk 4.538054438334018 ns/iter 4.51892087400687 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 1.9201813093142097 ns/iter 1.9464094267162317 ns/iter 0.99
Regex_Nested_Backtrack 863.441186490822 ns/iter 888.1305117075465 ns/iter 0.97
JSON_Array_Of_Objects_Unique 217.52015298003988 ns/iter 226.641383750166 ns/iter 0.96
JSON_Parse_1 23427.824697558237 ns/iter 23116.36010969398 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 24.037274537437398 ns/iter 24.1160027826175 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 117.13362550791096 ns/iter 133.55042680105018 ns/iter 0.88
JSON_String_Equal/10 5.456754412333227 ns/iter 5.908729660768916 ns/iter 0.92
JSON_String_Equal/100 5.162490992299125 ns/iter 5.4660615197336355 ns/iter 0.94
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7609088430521836 ns/iter 0.7650198498101859 ns/iter 0.99
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.5136331370498173 ns/iter 3.527300555980181 ns/iter 1.00
JSON_String_Fast_Hash/10 1.9223216881087808 ns/iter 1.9513775367558845 ns/iter 0.99
JSON_String_Fast_Hash/100 1.9422542081860708 ns/iter 1.976872100851913 ns/iter 0.98
JSON_String_Key_Hash/10 1.4456714871905116 ns/iter 1.478676702725756 ns/iter 0.98
JSON_String_Key_Hash/100 1.9323694169446488 ns/iter 1.9995515853790833 ns/iter 0.97
JSON_Object_Defines_Miss_Same_Length 1.7284893631945 ns/iter 1.783116869702679 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Small 2.046197936361386 ns/iter 2.126864635201671 ns/iter 0.96
JSON_Object_Defines_Miss_Too_Large 1.9501586265706894 ns/iter 1.8165270345903748 ns/iter 1.07
Pointer_Object_Traverse 54.752403139575186 ns/iter 53.05474356170118 ns/iter 1.03
Pointer_Object_Try_Traverse 37.03921659973801 ns/iter 36.11681494942644 ns/iter 1.03
Pointer_Push_Back_Pointer_To_Weak_Pointer 156.90252789785873 ns/iter 182.84022208260458 ns/iter 0.86
Schema_Frame_OMC_Instances 216299692.78971353 ns/iter
Schema_Frame_OMC_References 98347391.40101841 ns/iter 102968590.60014997 ns/iter 0.96
Schema_Bundle_Meta_2020_12 4945657.319492764 ns/iter 4895712.831895129 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 (linux/llvm)

Benchmark suite Current: 9606eec Previous: 2d4878f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.1935838739785374 ns/iter 2.2066725287545097 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.184742577538555 ns/iter 2.2016486828698834 ns/iter 0.99
Regex_Period_Asterisk 2.180419829420735 ns/iter 2.231035049630127 ns/iter 0.98
Regex_Group_Period_Asterisk_Group 2.183408097394185 ns/iter 2.2011654513711885 ns/iter 0.99
Regex_Period_Plus 2.487229964015529 ns/iter 2.486872980913686 ns/iter 1.00
Regex_Period 2.487672956211073 ns/iter 2.4862780452360305 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.489052334023044 ns/iter 2.4884569312596563 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.4878461345491787 ns/iter 2.4895595432695945 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 3.419947426909548 ns/iter 3.419300135863282 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.42738444461771 ns/iter 3.421199507134536 ns/iter 1.00
Regex_Caret_X_Hyphen 12.591995350553159 ns/iter 12.549874117949992 ns/iter 1.00
Regex_Period_Md_Dollar 73.36000212803474 ns/iter 74.54785450941642 ns/iter 0.98
Regex_Caret_Slash_Period_Asterisk 7.167724192038374 ns/iter 6.283336002401898 ns/iter 1.14
Regex_Caret_Period_Range_Dollar 3.232127022665651 ns/iter 4.0395358172316085 ns/iter 0.80
Regex_Nested_Backtrack 508.979878181218 ns/iter 455.8177263274391 ns/iter 1.12
JSON_Array_Of_Objects_Unique 434.92210653576717 ns/iter 434.8537310617485 ns/iter 1.00
JSON_Parse_1 30789.55391185463 ns/iter 30848.18771984607 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 56.19719723174113 ns/iter 56.428906132230175 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 143.86738696330843 ns/iter 156.54678530676446 ns/iter 0.92
JSON_String_Equal/10 5.609661036175298 ns/iter 6.841490459595429 ns/iter 0.82
JSON_String_Equal/100 6.2438056146769165 ns/iter 7.471597154875715 ns/iter 0.84
JSON_String_Equal_Small_By_Perfect_Hash/10 0.937168656605943 ns/iter 0.9345557787316117 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.260669045926992 ns/iter 14.599377003091133 ns/iter 0.70
JSON_String_Fast_Hash/10 2.177949571691811 ns/iter 2.176243302504555 ns/iter 1.00
JSON_String_Fast_Hash/100 2.1765906245564595 ns/iter 2.1751520107874582 ns/iter 1.00
JSON_String_Key_Hash/10 1.8683979073915606 ns/iter 2.696218753000271 ns/iter 0.69
JSON_String_Key_Hash/100 2.180957903931263 ns/iter 2.178229324466861 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7353349498893107 ns/iter 3.7344874591098502 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7387737575736164 ns/iter 3.7336543338798416 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7410253058615037 ns/iter 3.738571449177284 ns/iter 1.00
Pointer_Object_Traverse 44.2814240603102 ns/iter 43.28794853638728 ns/iter 1.02
Pointer_Object_Try_Traverse 52.65525116291065 ns/iter 52.965253134251064 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 335.8081716652877 ns/iter 290.03908338895724 ns/iter 1.16
Schema_Frame_OMC_Instances 300065977.499969 ns/iter
Schema_Frame_OMC_References 140024284.39998767 ns/iter 138973555.40000263 ns/iter 1.01
Schema_Bundle_Meta_2020_12 6641007.566033621 ns/iter 6633879.273578096 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 (windows/msvc)

Benchmark suite Current: 9606eec Previous: 2d4878f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 6.612658482144492 ns/iter 7.108718750000266 ns/iter 0.93
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 6.595325000000279 ns/iter 6.850714285714536 ns/iter 0.96
Regex_Period_Asterisk 6.689107142856849 ns/iter 6.594600892857524 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 6.530597098213877 ns/iter 6.913975000000303 ns/iter 0.94
Regex_Period_Plus 7.096720982142964 ns/iter 6.928854910714932 ns/iter 1.02
Regex_Period 6.875904017858504 ns/iter 6.885295758928425 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 6.844888392856368 ns/iter 7.006886160714845 ns/iter 0.98
Regex_Caret_Group_Period_Plus_Group_Dollar 7.615089285715828 ns/iter 6.953795058242192 ns/iter 1.10
Regex_Caret_Period_Asterisk_Dollar 6.529477678571181 ns/iter 6.589536830357647 ns/iter 0.99
Regex_Caret_Group_Period_Asterisk_Group_Dollar 6.592270535713445 ns/iter 6.743794642857079 ns/iter 0.98
Regex_Caret_X_Hyphen 11.89361785714433 ns/iter 11.888199999999317 ns/iter 1.00
Regex_Period_Md_Dollar 161.40214285716831 ns/iter 161.3025866943821 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 10.225640625002086 ns/iter 10.178753125000384 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 7.289452199601193 ns/iter 7.555937499999895 ns/iter 0.96
Regex_Nested_Backtrack 613.4637500001159 ns/iter 612.1163392857097 ns/iter 1.00
JSON_Array_Of_Objects_Unique 412.1555465421718 ns/iter 415.6724778952572 ns/iter 0.99
JSON_Parse_1 79307.1316964346 ns/iter 81060.53571428669 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 61.882339285708504 ns/iter 62.481374999998295 ns/iter 0.99
JSON_Equality_Helm_Chart_Lock 186.50811486676366 ns/iter 193.09694581221999 ns/iter 0.97
JSON_String_Equal/10 9.295343749999217 ns/iter 9.307522726305992 ns/iter 1.00
JSON_String_Equal/100 9.972827634049395 ns/iter 10.046355758722326 ns/iter 0.99
JSON_String_Equal_Small_By_Perfect_Hash/10 2.16723218750019 ns/iter 2.1736056250002633 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.664674264887603 ns/iter 14.657107142857585 ns/iter 1.00
JSON_String_Fast_Hash/10 3.0970910714285895 ns/iter 3.1312565673924952 ns/iter 0.99
JSON_String_Fast_Hash/100 3.097058098530931 ns/iter 3.150255004922175 ns/iter 0.98
JSON_String_Key_Hash/10 7.654793526786615 ns/iter 7.697683035713863 ns/iter 0.99
JSON_String_Key_Hash/100 3.7158530290783807 ns/iter 3.7194855522235524 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 4.028509069693878 ns/iter 4.041440848214783 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.412247627834435 ns/iter 3.4170768242554774 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7145179629463514 ns/iter 3.722962493352147 ns/iter 1.00
Pointer_Object_Traverse 53.30135714286501 ns/iter 52.87814000000708 ns/iter 1.01
Pointer_Object_Try_Traverse 64.89674999999448 ns/iter 65.16390178571133 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 183.19948957137862 ns/iter 179.16598921126345 ns/iter 1.02
Schema_Frame_OMC_Instances 496647299.99994963 ns/iter
Schema_Frame_OMC_References 345664899.9999743 ns/iter 356708749.9999957 ns/iter 0.97
Schema_Bundle_Meta_2020_12 16134971.111119334 ns/iter 16251928.888891598 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: 9606eec Previous: 2d4878f Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.6854840832727906 ns/iter 1.8418445055878898 ns/iter 0.92
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.7079207882237424 ns/iter 1.7369165905229722 ns/iter 0.98
Regex_Period_Asterisk 1.699887709254208 ns/iter 1.8949664360555758 ns/iter 0.90
Regex_Group_Period_Asterisk_Group 1.6959352072060725 ns/iter 1.712363365279054 ns/iter 0.99
Regex_Period_Plus 1.9792283517074487 ns/iter 2.155743588970207 ns/iter 0.92
Regex_Period 2.220002850584097 ns/iter 2.0645810503830346 ns/iter 1.08
Regex_Caret_Period_Plus_Dollar 2.081504218734156 ns/iter 2.082902974850119 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.0686830924897164 ns/iter 2.088517583041955 ns/iter 0.99
Regex_Caret_Period_Asterisk_Dollar 1.7453211931076056 ns/iter 1.6900706016185225 ns/iter 1.03
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.6919205430585964 ns/iter 1.69072861735923 ns/iter 1.00
Regex_Caret_X_Hyphen 7.228986264692366 ns/iter 7.067891616662544 ns/iter 1.02
Regex_Period_Md_Dollar 73.27684283849791 ns/iter 75.42136431491811 ns/iter 0.97
Regex_Caret_Slash_Period_Asterisk 5.556674380149972 ns/iter 5.3996745142153895 ns/iter 1.03
Regex_Caret_Period_Range_Dollar 2.454092808684917 ns/iter 2.51796210615187 ns/iter 0.97
Regex_Nested_Backtrack 811.5081676380829 ns/iter 848.457765271573 ns/iter 0.96
JSON_Array_Of_Objects_Unique 366.0865603848514 ns/iter 369.7646574603196 ns/iter 0.99
JSON_Parse_1 23417.50018066493 ns/iter 23151.886199349105 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 52.37369999999828 ns/iter 51.21340854706697 ns/iter 1.02
JSON_Equality_Helm_Chart_Lock 121.74513419176684 ns/iter 132.43793103312515 ns/iter 0.92
JSON_String_Equal/10 7.667817009228819 ns/iter 8.14632478717672 ns/iter 0.94
JSON_String_Equal/100 6.447731738503292 ns/iter 6.556695183329354 ns/iter 0.98
JSON_String_Equal_Small_By_Perfect_Hash/10 0.33015851153442977 ns/iter 0.34059797498608585 ns/iter 0.97
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 2.992327335712815 ns/iter 3.1531138194757093 ns/iter 0.95
JSON_String_Fast_Hash/10 1.6492619445310408 ns/iter 1.7014176891684123 ns/iter 0.97
JSON_String_Fast_Hash/100 1.9821946037357252 ns/iter 2.118172229609978 ns/iter 0.94
JSON_String_Key_Hash/10 1.4049641480605335 ns/iter 1.465328138754462 ns/iter 0.96
JSON_String_Key_Hash/100 1.3252598877331898 ns/iter 1.3487060542718068 ns/iter 0.98
JSON_Object_Defines_Miss_Same_Length 2.292418884361013 ns/iter 2.445008277276593 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Small 3.184208160294127 ns/iter 2.387703477328835 ns/iter 1.33
JSON_Object_Defines_Miss_Too_Large 2.825240627679434 ns/iter 2.3882277027269896 ns/iter 1.18
Pointer_Object_Traverse 18.8485697186993 ns/iter 16.674246692986614 ns/iter 1.13
Pointer_Object_Try_Traverse 24.25017365702825 ns/iter 23.545083272449105 ns/iter 1.03
Pointer_Push_Back_Pointer_To_Weak_Pointer 206.5793884152907 ns/iter 187.41970347090395 ns/iter 1.10
Schema_Frame_OMC_Instances 410854778.00000566 ns/iter
Schema_Frame_OMC_References 163765947.74999377 ns/iter 107387351.14284737 ns/iter 1.53
Schema_Bundle_Meta_2020_12 7382542.265819625 ns/iter 5020220.6875065155 ns/iter 1.47

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

Please sign in to comment.