FYI: writing to and reading from fields much faster than locals, globals or custom properties
Josh Mellicker
josh at dvcreators.net
Fri Feb 19 21:12:32 EST 2010
On Feb 18, 2010, at 4:29 PM, Kay C Lan wrote:
> On Fri, Feb 19, 2010 at 3:21 AM, Richard Gaskin
> <ambassador at fourthworld.com> wrote:
>>
>> Maybe that should be "Benchmark Obsessive". :)
>>
>> True, I was sleeping at 1AM PST, but when I got up this morning I found this
>> intriguing enough to pull out one of my old test stacks. In fact, while I
>> was at it I took some notes for an article on benchmarking I've been itching
>> to write and posted it to revJournal:
>>
> Hmmm, maybe 'Benchmark Obsessive Compulsive' ;-)
>
> Using Richard's stack:
>
> MBP 17" 2.16 GHz, 2GB RAM
> OS X.6.2, Rev 4.0.0 Build 950
>
> Number of iterations for read/write access: 5000
> LockScreen = true
> LockMessages = true
>
> Results:
> Visible field, current card: 24
> Hidden field, current card: 22
> Visible field, unopened card: 13
> Hidden field, unopened card: 14
> Custom property: 4
> Global variable: 2
> Local variable: 1
>
>
> Number of iterations for read/write access: 5000
> LockScreen = false
> LockMessages = false
>
> Results:
> Visible field, current card: 2367
> Hidden field, current card: 2856
> Visible field, unopened card: 15
> Hidden field, unopened card: 14
> Custom property: 37
> Global variable: 2
> Local variable: 1
>
>
> So very similar results.
>
> Josh, we are waiting ???
Just to reiterate:
What we found was that when writing and reading a custom property, or a variable, in a 1 ms loop, other stack windows became "sluggish" - very difficult to drag by the header bar, very difficult to click buttons on, rollover states sticking.
When we replaced with writing to and reading a text field on a substack (still 1ms), the other windows responded perfectly normally, you could drag and click just like no callback loop was running.
So I just ASSUMED the field was "faster". Maybe the truth is that custom properties , although faster, somehow interfere with normal mouse-related processes... or maybe what we found was just specific to our app, although I don't see how that could be.
Anyway, I will do some more tests as soon as I can. I just wanted to post, in case someone noticed "sluggishness" in an app with a fast callback loop, my advice is, try fields and see if that fixes it - it did for us!
More information about the use-livecode
mailing list