master > master: code go, py - Anzeige von Metriken vereinheitlicht; start/stop unmittelbar um Ausführung des Algorithmus
This commit is contained in:
@@ -66,17 +66,21 @@ def algorithmInfos(
|
||||
if state:
|
||||
# Initialisierung
|
||||
DisplayStartOfAlgorithm(name, **inputs);
|
||||
RestartMetrics();
|
||||
# Prechecks
|
||||
if checks and callable(preChecks):
|
||||
preChecks(**inputs);
|
||||
# Ausführung des Algorithmus:
|
||||
# Metriken initialisieren + starten
|
||||
ResetMetrics();
|
||||
StartMetrics();
|
||||
# Ausführung des Algorithmus:
|
||||
nonnestedRecursion.trigger();
|
||||
nonnestedAlgorithms.trigger();
|
||||
outputs = func(*[], **inputs);
|
||||
nonnestedAlgorithms.state = state1;
|
||||
nonnestedRecursion.state = state2;
|
||||
if state:
|
||||
# Metriken anhalten
|
||||
StopMetrics();
|
||||
# benenne Outputs:
|
||||
outputs_ = outputs if isinstance(outputs, tuple) else tuple([outputs]);
|
||||
outputsNamed = { outputnames[k]: value for k, value in enumerate(outputs_) };
|
||||
|
||||
@@ -49,6 +49,7 @@ class Counter(object):
|
||||
class Timer(object):
|
||||
_time_elapsed: timedelta;
|
||||
_time_current: datetime;
|
||||
_running: bool
|
||||
|
||||
def __init__(self):
|
||||
self.reset();
|
||||
@@ -62,14 +63,17 @@ class Timer(object):
|
||||
|
||||
def start(self):
|
||||
self._time_current = datetime.now();
|
||||
self._running = True
|
||||
return self;
|
||||
|
||||
def stop(self):
|
||||
t0 = self._time_current;
|
||||
t1 = datetime.now();
|
||||
delta = t1 - t0;
|
||||
self._time_current = t1;
|
||||
self._time_elapsed += delta;
|
||||
if self._running:
|
||||
t0 = self._time_current;
|
||||
t1 = datetime.now();
|
||||
delta = t1 - t0;
|
||||
self._time_current = t1;
|
||||
self._time_elapsed += delta;
|
||||
self._running = False
|
||||
return self;
|
||||
|
||||
def reset(self):
|
||||
@@ -77,6 +81,7 @@ class Timer(object):
|
||||
delta = t - t;
|
||||
self._time_current = t;
|
||||
self._time_elapsed = delta;
|
||||
self._running = False
|
||||
return self;
|
||||
|
||||
## Initialisierung:
|
||||
@@ -88,7 +93,7 @@ _tmr = Timer();
|
||||
# METHODS
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
def RestartMetrics():
|
||||
def ResetMetrics():
|
||||
global _ctr_time;
|
||||
global _ctr_space;
|
||||
global _tmr;
|
||||
@@ -98,6 +103,14 @@ def RestartMetrics():
|
||||
_tmr.reset();
|
||||
return;
|
||||
|
||||
def StartMetrics():
|
||||
_tmr.start()
|
||||
return;
|
||||
|
||||
def StopMetrics():
|
||||
_tmr.stop()
|
||||
return;
|
||||
|
||||
def AddTimeCost(n: int = 1):
|
||||
global _ctr_time;
|
||||
_ctr_time.add(n);
|
||||
|
||||
Reference in New Issue
Block a user