At 1:10 PM +0100 12/29/01, Andre Rombauts wrote:
>Of course this is quicker: the loop is performed 'outside' the screen
>display process. But you can hear clearly the 2 beep: the loop takes some
>time to run...
>
>on mouseUp
> set the text of field "info" to empty
> beep
> repeat with k = 32 to 129
> if k = 65 or k= 97 then put linefeed & linefeed after varS
> put numTochar(k) & " " after varS
> end repeat
> beep
> set the text of field "info" to varS
>end mouseUp
The beeps are not a good indicator of how long something takes. Here's a better way to
test (note the use of the ticks() function):
on mouseUp
set the text of field "info" to empty
put ticks() into tStart
repeat with k = 32 to 129
if k = 65 or k= 97 then put linefeed & linefeed after varS
put numTochar(k) & " " after varS
end repeat
put varS into field "info"
put ticks() - tStart
end mouseUp
Note that it only updates the field at the end, but that the field update _is_
included in the timing. This takes from 0 to 1 ticks (1/60th of a second) on my
computer. The ticks are displayed after it runs in the message box.
The script below takes about 25 ticks -- note that I'm not including updating the
field, but I am doing the variable creation 1000 times:
on mouseUp
set the text of field "info" to empty
put ticks() into tStart
repeat 1000 times
put empty into varS
repeat with k = 32 to 129
if k = 65 or k= 97 then put linefeed & linefeed after varS
put numTochar(k) & " " after varS
end repeat
end repeat
put ticks() - tStart
put varS into field "info"
end mouseUp
Finally, if you really need the speed (not that there aren't faster ways that subvert
the nature of the test) you can unroll the repeat structure from the if statements.
The following performs the same work, but gets it done (1000 times) in 15 ticks:
on mouseUp
set the text of field "info" to empty
put empty
put ticks() into tStart
repeat 1000 times
put empty into tVarS
repeat with k = 32 to 64
put numToChar(k) & " " after tVarS
end repeat
put cr & cr after tVarS
repeat with k = 66 to 98
put numToChar(k) & " " after tVarS
end repeat
put cr & cr after tVarS
repeat with k = 99 to 129
put numToChar(k) & " " after tVarS
end repeat
end repeat
put ticks() - tStart
put tVarS into field "info"
end mouseUp
regards,
Geoff
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution