From 1557c715e461d5a7deb04bb008c6497441351bbe Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sun, 30 Jul 2006 22:56:43 +0000 Subject: some minor speedups using caches and more selective updating --- lib/python/Components/Converter/EventTime.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/python/Components/Converter/EventTime.py') diff --git a/lib/python/Components/Converter/EventTime.py b/lib/python/Components/Converter/EventTime.py index 09fe6bff..4a73e0ac 100644 --- a/lib/python/Components/Converter/EventTime.py +++ b/lib/python/Components/Converter/EventTime.py @@ -30,6 +30,11 @@ class EventTime(Poll, Converter, object): raise str("'%s' is not for EventTime converter" % type) def getTime(self): + if self.cache is None or self.cache[0] is None: + self.cache = (self.__getTime(), self.cache and self.cache[1]) + return self.cache[0] + + def __getTime(self): assert self.type != self.PROGRESS event = self.source.event @@ -53,6 +58,11 @@ class EventTime(Poll, Converter, object): return (duration, None) def getValue(self): + if self.cache is None or self.cache[1] is None: + self.cache = (self.cache and self.cache[0], self.__getValue()) + return self.cache[1] + + def __getValue(self): assert self.type == self.PROGRESS event = self.source.event -- cgit v1.2.3