Dave Cragg wrote:

On 4 Jul 2005, at 20:07, Eric Chatonet wrote:

Hi Dennis,

I agree since I provide many tools for the community that are made to run in the IDE.


I agree too. :)

So I never use globals but I prefer to refer to some custom properties stored in specific custom property sets in my plugins or in the revPreferences stack. BTW, I found that referring to custom properties is as fast as using global variables and they don't vanish when they are stored in revPreferences.
That's great :-)


Eric, my own testing shows that accessing custom properties is significantly slower than accessing globals. (Over 20 times slower in a simple test.) When I have to refer to custom properties frequently (for example when going through hundreds of elements of a customPropertySet), I usually copy them to a variable first. But perhaps the access times vary by circumstances.

This was the most recent test I ran.

global gTest
on mouseUp
  set the cTest of me to 100
  put 100 into gTest
  put 100000 into tTimes
  put the milliseconds into tStart
  repeat tTimes
    get gTest
  end repeat
  put the milliseconds - tStart into tOut
  put the milliseconds into tStart
  repeat tTimes
    get the cTest of me
  end repeat
  put cr & the milliseconds - tStart after tOut
  put tOut
end mouseUp

That sounds slow expressed as relative figures, but when we look at the speed per access it's not so bad for many uses:

Milliseconds per access for-
   global:   0.00058
   property: 0.00441
   function: 0.00297

I usually use functions instead of constants for constant-like things, as they have the same read-only benefit of true constants but have the convenience of not requiring declaration. In this test I had this function in the card script:

  function cTest
    return 100
  end cTest

I was surprised the function call was so fast relative to accessing a property, but either way isn't so bad for occassional access. If you're doing a lot of processing of the data you could copy it to a local var during the heavy lifting.

--
 Richard Gaskin
 Fourth World Media Corporation
 ___________________________________________________________
 [EMAIL PROTECTED]       http://www.FourthWorld.com
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to