Revolution speed sucks?
yoy
yoy at comcast.net
Tue Aug 5 23:39:01 EDT 2003
Brian,
WOAH!!!
I'm going to have a fun day tomorrow!
Thanks for helping out!
All the best,
Andy
----- Original Message -----
From: "Brian Yennie" <briany at qldlearning.com>
To: <use-revolution at lists.runrev.com>
Sent: Wednesday, August 06, 2003 12:24 AM
Subject: Re: Revolution speed sucks?
> From a first glance, these tips should buy you an initial speedup, and
> are mostly GUI-related.
>
> 1) Don't read line-by-line through a field. Instead of:
>
> repeat for each line gameLine in fld "gamelist"
>
> do this:
>
> put fld "gamelist" into gameList
> repeat for each line gameLine in gameList
>
> You also refer to > line n in fld "gamelist" < when you already have
> this available as "gameLine"
>
> 2) Don't update the scrollbar bar in every loop. Only set the visible
> property once, and only update the thumb value if it has actually
> changed by at least 1%. I commented out the scrollbar updating, and the
> script ran as much as 40% faster.
>
> 3) Consolidate your repeat loops
>
> For starters, it's look like you loop through the entire list twice:
> combine these loops.
>
> In your second loop, you have three loops inside of each other- and it
> looks to me like the inner most one doesn't work right.
>
> It looks like you are checking if *any* number in your pick matches
> *any* number in the winning combination. Instead of checking 1 match
> (i.e. does item 3 match item 3), you are checking 6- that's a 6 fold
> speedup right there.
>
> 4) Check your duplicate number code
>
> You have something like this:
>
> repeat with i=1 to x
> repeat with j=2 to x
> if (item i of z = item j of z) then ## duplicate
>
> I think you want:
>
> repeat with i=1 to x
> repeat with j=(i+1) to x
> if (item i of z = item j of z) then ## duplicate
>
> i.e. You don't need to compare every number to every other number- once
> the 2nd number has been compared to the 5th, the 5th doesn't have to be
> compared again to the 2nd. I think this is what you intended with the
> 2, but as it stands you're still doing 15 comparisons on every line
> that aren't necessary.
>
> Implement those concepts and you should be getting closer. Keep in mind
> that GUI is much more expensive than raw processing, minimizing repeat
> loops goes a long way, etc, and you should be catching up with Perl
> sooner than later...
>
> Have fun!
>
> Brian
>
>
> > I ran my stack "OmniLotto" and generated 5000 random powerball games.
> > Then
> > it ran. It .took over 30 minutes!!!
> >
> > I saved the 5000 gamelist and ran it through my PERLotto perl script
> > out to
> > "results.txt".
> >
> > It took only 1 second!!!!!!!
> >
> > What gives? Are my script routines way out of order? It certainly
> > seems so!
> >
> > GEEZ......... Day 5 (?) gonzo.
> >
> > Andy
> >
> > _______________________________________________
> > use-revolution mailing list
> > use-revolution at lists.runrev.com
> > http://lists.runrev.com/mailman/listinfo/use-revolution
> >
> >
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
More information about the use-livecode
mailing list