On Jul 20, 2006, at 7:27 PM, John Miller wrote:
put 50 into XX put the ticks into timer repeat until listXX is empty put line 1 to XX of listXX into listYY delete line 1 to XX of listXX repeat with x = 1 to (number of lines in listYY) doaction to line x of listYY end repeat end repeat put the ticks - timer
You'd almost certainly get even better performance with repeat for each. The problem with any loop where you are repeatedly getting line N is that the more lines there are, the longer it takes to get the last ones because you have to count through all the previous ones. Breaking it up into chunks of 50 (as you did above) improves the situation, but doesn't fix it. Throw a large enough list at it and it will choke. Repeat for each takes each line in turn, so it never has to re-count through the list. A list twice as long with take twice as long, no matter how big the lists get.
Here's an example: repeat for each line L in listXX doaction to L end repeat If you need to know the line number as you go along, then use this: put 0 into tLineNumber repeat for each line L in listXX add 1 to tLineNumber doaction to L end repeat _______________________________________________ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution