From 54a91bcd5a1c8f05bfec220839d41c16ed74f14f Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Sun, 11 Feb 2024 17:38:20 +0100 Subject: [PATCH] Scheduler-test: investigation... ...and reflection about goals, methods of measurement and possible interpretation --- src/lib/time/time.cpp | 1 + tests/vault/gear/scheduler-stress-test.cpp | 7 +- wiki/thinkPad.ichthyo.mm | 106 +++++++++++++++++++-- 3 files changed, 105 insertions(+), 9 deletions(-) diff --git a/src/lib/time/time.cpp b/src/lib/time/time.cpp index f4bea5855..2c3cb7b62 100644 --- a/src/lib/time/time.cpp +++ b/src/lib/time/time.cpp @@ -340,6 +340,7 @@ namespace time { } + /** @warning loss of precision on large time values beyond double mantissa length `2^52 ≈ 4.5e15` */ Offset Offset::stretchedByFloatFactor (double factor) const { diff --git a/tests/vault/gear/scheduler-stress-test.cpp b/tests/vault/gear/scheduler-stress-test.cpp index 7aa3eac9f..67c6d2a40 100644 --- a/tests/vault/gear/scheduler-stress-test.cpp +++ b/tests/vault/gear/scheduler-stress-test.cpp @@ -371,9 +371,9 @@ SHOW_EXPR(loadMicros) usec BASE_EXPENSE = 200us; double UPPER_STRESS = 12; // - double FAIL_LIMIT = 0.7; - double TRIGGER_SDEV = 0.25; - double TRIGGER_DELTA = 0.5; + double FAIL_LIMIT = 1.0; //0.7; + double TRIGGER_SDEV = 1.0; //0.25; + double TRIGGER_DELTA = 2.0; //0.5; // uint CONCURRENCY = 4; // bool SCHED_DEPENDS = true; bool showRuns = true; @@ -384,6 +384,7 @@ SHOW_EXPR(loadMicros) TestChainLoad<8> testLoad{256}; testLoad.seedingRule(testLoad.rule().probability(0.6).minVal(2)) .pruningRule(testLoad.rule().probability(0.44)) + .weightRule(testLoad.value(1)) .setSeed(55); return testLoad; } diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index ffae2a668..726e3e1a2 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -110884,6 +110884,55 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + + + + + + + + +

+ Fokus ⟹ Ziel ⟹ es geht um Halten ⟷ Brechen +

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

+ es geht nicht um die Ermittlung einer empirischen »Performance« +

+ +
+
+ + + + + + + +

+ sie muß gut genug im Sinn von tauglich sein +

+ +
+
+ + + + +
@@ -110895,6 +110944,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ @@ -110997,7 +111047,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -111042,12 +111092,12 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- +

- Die Mantisse des Double-Datentyps ist 24bit lang. Das reicht nicht, um einen 64bit-Integer fehlerfrei mit voller Genauigkeit darzustellen + Die Mantisse des Double-Datentyps ist 52Bit lang (≈4.5e15). Das reicht nicht, um einen 64bit-Integer fehlerfrei mit voller Genauigkeit darzustellen

@@ -111074,14 +111124,35 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + - - + + + + + + + + + + + + + + + + + + + + + + + @@ -111094,6 +111165,19 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + + +
+ + + + + + + + +
@@ -111103,6 +111187,16 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + + + + + + + + +