On 16/02/2015 21:15, Peter M. Brigham wrote:
As I now understand it, the really big difference is between the repeat for
n = 1 to… form on the one hand, and the repeat for each… and repeat n times
forms. The latter 2 are not that different, but when the engine has to
count lines/items every time, it slows things down a very significant
amount.

But the point is that the difference isn't in the form of the repeat loop, it's in the chunking.

 put line x of tMyBigText

is slow (if x is large) because the engine has to count from the start of tMyBigText every time this is executed. If you do it once, it's not very significant; if you do it thousands of times it might be.

But the point I'm trying to make is that that's not about the repeat loop, it's about the chunking.

        repeat with i=1 to 100
                put not(x) into x
        end repeat

will probably be insignificantly _faster_ than

        repeat for each line t in tListOf100lines
                put not(x) into x
        end repeat

What makes a difference is the code inside the loop. If the main purpose of your loop is to iterate over every chunk of a container, then there's a special loop form optimised for that purpose ('repeat for each'). But it's not that 'repeat for each' is inherently faster than 'repeat with'. It's that
        
        repeat for each line t in tListOf100lines

is faster than
        repeat with i = 1 to 100
                put line i of tListOf100lines into t

Ben






_______________________________________________
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