Timing Utilities
Timers can be used to track user response times, analyze performance, or limit the time spent on an activity, as discussed below. See Chapter 9, Perfomance and Memory, in Director in a Nutshell for optimization tips.
Gauging Performance
Use the type of loop shown in Example 11-8 to gauge Lingo’s performance when trying to optimize your code. For an accurate test, perform the operation enough times, such as 1000, to last a few seconds.
Example 11-8. Timing Performance
on testSpeed
startTimer
repeat with x = 1 to 1000
-- Test performance of something in here....
set dummy = 5
end repeat
put "The test took" && the timer && "ticks"
endDon’t include put statements within your timing loop as they are very slow and will distort your results. If necessary, store results in a variable and print them out later.
Stop Watch Timer Object
Example 11-9 is a stop watch object and a test script showing its usage. See Chapter 12 for details on object-oriented Scripting.
Here is the Stop Watch Object Parent Script:
property pLastElapsedTime, pRunning, pRunningTime
on new me
resetStopWatch (me)
set pRunning = FALSE
return me
end new
on resetStopWatch me
set pLastElapsedTime = 0
set pRunningTime = the ticks
end resetStopWatch
on startStopWatch me
if not pRunning then
-- If not already running, record the start time
set pRunningTime = the ticks
set pRunning = TRUE
end if
end startStopWatch
on stopStopWatch me
if pRunning then
-- If not already stopped, increment the elapsed time set pLastElapsedTime ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access