From fcde92a476533431694482acc762f7a5a506c7a7 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Tue, 12 Dec 2023 20:51:31 +0100 Subject: [PATCH] Scheduler-test: add node-weight statistics ...playing around with the graph for the Scheduler integration test ...single threaded run time seemed to behave irregular ...but in fact it is very close to what can be expected based on an ''averaged node weight'' Fortunately its very simple to add that into the existing node statistics --- tests/vault/gear/scheduler-service-test.cpp | 18 ++- tests/vault/gear/test-chain-load.hpp | 4 +- wiki/thinkPad.ichthyo.mm | 130 +++++++++++++++++++- 3 files changed, 140 insertions(+), 12 deletions(-) diff --git a/tests/vault/gear/scheduler-service-test.cpp b/tests/vault/gear/scheduler-service-test.cpp index fb07850f4..57bd6dcab 100644 --- a/tests/vault/gear/scheduler-service-test.cpp +++ b/tests/vault/gear/scheduler-service-test.cpp @@ -552,21 +552,27 @@ namespace test { processSchedule() { MARK_TEST_FUN + TestChainLoad testLoad{64}; - auto testLoad = - TestChainLoad{64} - .configureShape_short_segments3_interleaved() - .buildToplolgy(); +// .configureShape_short_segments3_interleaved() + testLoad.expansionRule(testLoad.rule().probability(0.27).maxVal(4)) + .reductionRule(testLoad.rule().probability(0.44).maxVal(6).minVal(2)) + .weightRule (testLoad.rule().probability(0.66).maxVal(3)) + .setSeed(55) + .buildToplolgy(); // while building calculation plan graph // node hashes were computed, observing dependencies size_t expectedHash = testLoad.getHash(); - double referenceTime = testLoad.calcRuntimeReference(); -SHOW_EXPR(referenceTime) + testLoad.performGraphSynchronously(); + CHECK (testLoad.getHash() == expectedHash); + testLoad.printTopologyDOT() .printTopologyStatistics() ; + double referenceTime = testLoad.calcRuntimeReference(); +SHOW_EXPR(referenceTime) BlockFlowAlloc bFlow; EngineObserver watch; diff --git a/tests/vault/gear/test-chain-load.hpp b/tests/vault/gear/test-chain-load.hpp index ec54f1117..b07c5a9d6 100644 --- a/tests/vault/gear/test-chain-load.hpp +++ b/tests/vault/gear/test-chain-load.hpp @@ -862,8 +862,9 @@ namespace test { const StatKey STAT_JOIN{5,"join"}; ///< joining node const StatKey STAT_LINK{6,"link"}; ///< 1:1 linking node const StatKey STAT_KNOT{7,"knot"}; ///< knot (joins and forks) + const StatKey STAT_WGHT{8,"wght"}; ///< node weight - const std::array KEYS = {STAT_NODE,STAT_SEED,STAT_EXIT,STAT_INNR,STAT_FORK,STAT_JOIN,STAT_LINK,STAT_KNOT}; + const std::array KEYS = {STAT_NODE,STAT_SEED,STAT_EXIT,STAT_INNR,STAT_FORK,STAT_JOIN,STAT_LINK,STAT_KNOT,STAT_WGHT}; const uint CAT = KEYS.size(); const uint IDX_SEED = 1; // index of STAT_SEED @@ -881,6 +882,7 @@ namespace test { , [](NOD& n){ return isJoin(n); } , [](NOD& n){ return isLink(n); } , [](NOD& n){ return isKnot(n); } + , [](NOD& n){ return n.weight; } }; } } diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index 0d2832cca..82ba4b558 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -93372,6 +93372,79 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + + + + + + + + +

+ wie im Beispiel im Test: seed=62 ⟹ sehr schnell ein Expand und dann mehrere massive Wellen die bis an den Anschlag gehen +

+ + +
+
+ + + + + + + + + + + + + + + + + + + + +

+ ...denn normalerweise ist ein calibrate() ganz verträumt   (und sicher nicht zufällig) im ersten simpleUsage-Example versteckt +

+ + +
+
+ + + + + + + + + +

+ angeblich um zu demonstrieren, daß der Hash gleich ist... +

+ + +
+ +
+
+ + + + + + + + + + + +
@@ -93450,8 +93523,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
Workforce: configuration and initialisation of workers

- - +
@@ -93464,8 +93536,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
es paßt nicht zum Stil im gesamten Kontext; wir sind hier in Implementierungs-Code, der grundsätzlich davon ausgeht, nur sinnvoll aufgerufen zu werden — es geht nicht darum, einen User „an die Hand zu nehmen“

- - +
@@ -93488,6 +93559,55 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + + + + + +

+ ist das angemessen, +

+

+ was ich hier mache? +

+ +
+ + + + + + + + + + + + +

+ so manches an diesen Tests hier funktioniert nur scheinbar „einfach“ +

+ +
+
+ + + + + + + + + + + + + + + + + @@ -96982,8 +97102,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- +