Wait 0 doesn't
Dar Scott
dsc at swcp.com
Tue Apr 29 15:02:00 EDT 2003
Duh.
On Tuesday, April 29, 2003, at 11:44 AM, Dar Scott wrote:
> With these results (note the first is usually long):
>
> 1.99, 0.25, 0.29, 0.26, 0.26, 0.26, 0.26, 0.22, 0.26, 0.26, 1.35,
> 0.24, 0.26, 0.30, 0.26, 0.22, 0.26, 0.25, 0.26, 1.23, 0.28, 0.26,
> 0.26, 0.22, 0.26, 0.25, 0.26, 0.22, 1.30, 0.28, 0.26, 0.22, 0.26,
> 0.27, 0.26, 0.21, 0.26, 1.37, 0.27, 0.21, 0.22, 0.28, 0.25, 0.22,
> 0.27, 0.25, 1.35, 0.37, 0.26, 0.26, 0.25, 0.26, 0.22, 0.26, 0.26,
> 1.25, 0.28, 0.26, 0.22, 0.26, 0.25, 0.27, 0.26, 1.37, 0.28, 0.26,
> 0.27, 0.26, 0.26, 0.21, 0.26, 1.35, 0.28, 0.26, 0.25, 0.26, 0.21,
> 0.26, 0.25, 1.36, 0.27, 0.13, 0.26, 0.25, 0.26, 0.25, 0.25, 1.36,
> 0.28, 0.26, 0.22, 0.26, 0.24, 0.26, 0.26, 1.39, 0.28, 0.26, 0.26,
> 0.26, 0.21, 0.26, 1.35, 0.28, 0.26, 0.25, 0.26, 0.26, 0.25, 1.38,
> 0.28, 0.27, 0.26, 0.22, 0.28, 0.25, 1.33, 0.36, 0.26, 0.25, 0.26,
> 0.26, 0.26, 1.37, 0.27, 0.26, 0.26, 0.21, 0.23, 0.28, 1.35, 0.23,
> 0.21, 0.32, 0.24, 1.38, 0.29, 0.43, 0.24, 0.22, 0.22, 0.27, 1.24,
> 0.27, 0.26, 0.26, 0.26, 0.27, 0.22, 1.36, 0.27, 0.26, 0.26, 0.26,
> 0.26, 0.26, 1.37, 0.28, 0.26, 0.26, 0.26, 0.26, 0.28, 1.35, 0.27,
> 0.26, 0.26, 0.26, 0.26, 0.26, 1.48, 0.25, 0.27, 0.26, 0.13, 0.25,
> 0.22, 1.41, 0.28, 0.27, 0.26, 0.26, 0.26, 0.25, 1.39, 0.28, 0.26,
> 0.26, 0.25, 0.26, 0.26, 1.35, 0.28, 0.27, 0.26, 0.26, 0.26, 0.26,
> 1.39, 0.24,
...
> And, perhaps, delayed I/O related to your screen drawing may be going
> on.
...
> Now. Given all that. I'm getting longer times than I did last night.
New handler that doesn't write to field in the loop:
on mouseUP
put the long seconds into endT -- avoid first time overhead for long
seconds
put empty into reportT
put the long seconds into startT
put the long seconds into endT
put (endT-startT) into deadT
put "Offset used: " & deadT*1000 & " ms" & linefeed after reportT
set numberFormat to "0.000"
repeat 200
put the long seconds into startT
wait 0 seconds
--myWait 0
put the long seconds into endT
put (endT - startT) - deadT into actualT
put actualT*1000 & comma & space after reportT
end repeat
put reportT into field "report"
end mouseUP
Results:
Offset used: 0.003934 ms
0.845, 0.103, 0.092, 0.090, 0.089, 0.088, 0.087, 0.087, 0.087, 0.092,
0.088, 0.087, 0.087, 0.087, 0.086, 0.086, 0.105, 0.098, 0.091, 0.088,
0.088, 0.087, 0.087, 0.087, 0.087, 0.086, 0.087, 0.087, 0.087, 0.089,
0.088, 0.087, 0.087, 0.087, 0.087, 0.087, 0.087, 0.087, 0.087, 0.087,
0.087, 0.087, 0.086, 0.087, 0.087, 0.087, 0.086, 0.088, 0.087, 0.087,
0.087, 0.087, 0.087, 0.087, 0.087, 0.210, 0.102, 0.090, 0.088, 0.087,
0.087, 0.087, 0.087, 0.087, 0.086, 0.087, 0.087, 0.087, 0.086, 0.087,
0.086, 0.087, 0.087, 0.086, 0.087, 0.087, 0.086, 0.087, 0.094, 0.089,
0.087, 0.087, 0.087, 0.087, 0.087, 0.087, 0.086, 0.087, 0.086, 0.087,
0.087, 0.086, 0.097, 0.089, 0.087, 0.087, 0.087, 0.087, 0.087, 0.086,
0.087, 0.086, 0.088, 0.088, 0.087, 0.087, 0.087, 0.086, 0.087, 0.087,
0.086, 0.086, 0.099, 0.088, 0.088, 0.087, 0.087, 0.087, 0.087, 0.087,
0.087, 0.087, 0.087, 0.086, 0.087, 0.087, 0.087, 0.086, 0.087, 0.087,
0.087, 0.087, 0.087, 0.087, 0.086, 0.087, 0.086, 0.087, 0.086, 0.087,
0.087, 0.086, 0.087, 0.087, 0.086, 0.087, 0.086, 0.087, 0.087, 0.086,
0.087, 0.087, 0.086, 0.087, 0.086, 0.087, 0.087, 0.087, 0.086, 0.087,
0.087, 0.086, 0.087, 0.087, 0.086, 0.087, 0.086, 0.087, 0.087, 0.087,
0.087, 0.086, 0.087, 0.087, 0.091, 0.088, 0.087, 0.087, 0.086, 0.087,
0.087, 0.086, 0.087, 0.087, 0.086, 0.087, 0.087, 0.086, 0.087, 0.087,
0.086, 0.087, 0.087, 0.086, 0.087, 0.086, 0.087, 0.087, 0.087, 0.087,
It seems that the writing to the field creates some delayed work for
either the OS or the engine and that tends to be done at the wait.
That may also explain why the first wait is often long; the button
image has changed or something else at the start has created some
delayed work.
The drawing of your program, Jim, probably does the same thing. Some
delayed work is generated and it is done at the wait. Perhaps it is
deferred until the end of the drawing when there is no wait.
I think we are getting a better feel for what is going on.
It is hard for my mind to keep up with OS enhancements and processor
speeds, so my judgment here is poor, but even 87 microseconds seems a
little long. Even so, it is just fine for Revolution on these kinds of
OS's.
Dar Scott
More information about the use-livecode
mailing list