Hi Terry,

It shouldn't matter much. Both propeties and variables exist in memory, if the stack containing the property is loaded into memory. If the stack it on disk but not in memory, it will be loaded the first time you access the property and may call a small delay.

If you have many nested properties, I could imagine that calling properties like

put the cProp["key1"]["key2"] into myArray
put the keys of myArray into myKeys
sort lines of myKeys numeric by item 1 of each
put myArray[line x of myKeys] into MyVar
-- etc

things may get awkwardly slow, but if you're just reading directly from a property, the difference with a local variable should be really small. If you want to know for sure, a few simple extra statements that put the milliseconds into a variable will show you the difference, as you already suggested.

There is one little thing that might affect speed and you really would have to rest this. LiveCode might look for a getProp handler when you call a property. This might take a millisecond or so. This is the only reason I can come up with, why using variables might be quicker.

If you think that your script is getting slow, there is probably another reason for it and using either properties or variables won't solve this issue. Perhaps you're having trouble because you're intervening with the GUI. If you explain what you're trying to do, perhaps we can find a better way to do it.

--
Best regards,

Mark Schonewille

Economy-x-Talk Consulting and Software Engineering
Homepage: http://economy-x-talk.com
Twitter: http://twitter.com/xtalkprogrammer
KvK: 50277553

Use Color Converter to convert CMYK, RGB, RAL, XYZ, H.Lab and other colour spaces. http://www.color-converter.com

Buy my new book "Programming LiveCode for the Real Beginner" http://qery.us/3fi

LiveCode on Facebook:
https://www.facebook.com/groups/runrev/

On 3/10/2014 11:24, Terence Heaford wrote:
I am just a beginner with LC and don’t want to spend hours reinventing the 
wheel so was hoping that someone can advise me which of the following is the 
quicker.

I could go down the milliseconds route with every script I produce but….

Is there a general rule that says

put the uRows of me into tRows
put line tRecNum to tRecNum + tRows - 1 of the uSelected of me into 
tSelectedData

is quicker than using

put line tRecNum to tRecNum + the uRows of me - 1 of the uSelected of me into 
tSelectedData

or does it not really matter

It is being used with a scrollbar so gets called quite a lot and tRows/the 
uRows of me appears in a number of lines in the method

All the best

Terry
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to