RE: Faster way?

new topic     » goto parent     » topic index » view thread      » older message » newer message

--=======92B10D6=======

At 02:32 25.12.02 +0000, you wrote:

>
>
>dubetyrant at hotmail.com wrote:
> > Hello,
> > I'm wondering if there is a more efficient(meaning faster) way of
> > comparing each element of a sequence with each element of another
> > sequence of the same size.Im matching an image with a background
> > image,and

<snip>

>also you are using the 'length' function in your loop control statement.
>each time this statement is executed so would the length function be
>re-calculated.
>calculate it once prior to entering the loop would help.
>
>seqsize = length(image)
>for i = 1 to seqsize by 1 do
>if image[i] = 255 then
>image[i] = background[i]
>end if
>end for
>
>Merry Christmas and Happy New Year to All Euphorians
>Rudy
>lotterywars

         Actually, this is only true for while loops.  for loops use the 
length() function only once.  Here's a demo:

---------------------------

sequence s

puts(1, "for loop:for i = 1 to length(s) do --accesses length(s) only once\n")
s={1,2,3,4,5}
? s
for i = 1 to length(s) do --accesses length(s) only once
     printf(1, "%2d ", {length(s)})  ? s
     s = s & i
end for

puts(1, "while length(s) > 2 do  --accesses length(s) on each iteration\n")
? s

while length(s) > 2 do  --accesses length(s) on each iteration
     printf(1, "%2d ", {length(s)})  ? s
     s = s[2..length(s)]
end while

         I think Rob commented on this a while back.

                         Bob

--=======92B10D6=======
Content-Type: text/plain; charset=us-ascii; x-avg=cert;
x-avg-checked=avg-ok-1F3D5B31
Content-Disposition: inline


---

--=======92B10D6=======--

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu