Update August 14 7pm PDT: http://TiddlyTools.com/timer.html

MAJOR PERFORMANCE IMPROVEMENT!

Previously:
each timer, clock, countdown and alarm created a separate timeout. This 
resulted in increasing overhead as more clocks, timers, etc. were in use.

Now:
A new tiddler has been added: TiddlyTools/Timer/Ticker, tagged with 
$:/tags/StartupAction.  This tiddler establishes one *shared* ticker for 
all clocks, timers, and alarms. The result is a MAJOR reduction in 
overhead.  No matter how many clocks, timers, or alarms are in use, there 
is only ONE tick per second.  This is especially noticeable when displaying 
the WorldClocks, which currently can show up to 24 simultaneous clock 
displays (12 analog and 12 digital).  So... instead of 24 timeouts per 
second, there's only 1 !!!!

This also eliminates a subtle but troubling problem whereby tiddler refresh 
events would result in extra timeouts being started, resulting in "runaway" 
interrupts accumulating until performance slowed to a crawl (or even caused 
"stack overflow" red screens!).  Everything is now MUCH more stable, 
reliable, and efficient!

Note: CountDown (and AutoSaver) functions still start separate timeouts 
because they do very different logic.  Instead of simply tracking the 
current datetime value, they compute seconds of "time remaining", and when 
they reach 0 seconds, they stop and trigger events (e.g., a message display 
or a file save action). However, unlike the clock and alarm functions, the 
Countdown/AutoSaver functions do not "auto start on render".   Thus, they 
don't stack up
"runaway" interrupts due to refresh events, and the timeout overhead for 
each countdown is automatically eliminated as soon as it reaches 0.

enjoy,
-e

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/b45d6f4b-6adb-4879-9454-757510cc309bo%40googlegroups.com.

Reply via email to