1. Robert faster?

Which would be better?

integer width, height
sequence s

width = 5
height = 10
faster = 1 -- should faster = 1 or 0?
if faster then
  s = repeat(repeat(0, width), height)
else
  s = repeat(height)
end if
for a = 1 to height do
  s[a] = {a, a + 1, a + 2, a + 3, a + 4}
end for

please don't optimize my loop.
I just need to know which way this kind of
sequence reassignment would be handled better

--Lucius Lamar Hilley III
--  E-mail at luciuslhilleyiii at juno.com
--  I support transferring of files less than 60K.
--  I can Decode both UU and Base64 format.

new topic     » topic index » view message » categorize

2. Re: Robert faster?

Lucius Hilley writes:
> Which would be better?

> integer width, height
> sequence s

> width =3D 5
> height =3D 10
> faster =3D 1 -- should faster =3D 1 or 0?
> if faster then
>   s =3D repeat(repeat(0, width), height)
> else
>   s =3D repeat(height) =

> end if
> for a =3D 1 to height do
>   s[a] =3D {a, a + 1, a + 2, a + 3, a + 4}
> end for

Instead of: repeat(height) - I assume you mean: repeat(0, height).

I haven't timed it, but I'm pretty sure the "repeat(0, height)"
method would be faster, i.e. faster =3D 0.

When I want to time a small section of code like this, I do the
following:

atom t
t =3D time()
for i =3D 1 to 1000 do
   ... section of code ...
end for
? time() - t =


If it takes less than a few seconds I increase
the "1000" and run it again. (Of course in some cases
1000 would be too large to start with.)

Then I modify "section of code" and run it again
and compare the times.

Perfectionists might also time the for-loop with
an *empty* body, so they can deduct the time overhead
contributed by the loop mechanism - i.e. incrementing =

the loop variable, comparing against the limit, etc. =

This is only useful if your section of code takes
very little time.
 =

Regards,
  Rob Craig
  Rapid Deployment Software

new topic     » goto parent     » topic index » view message » categorize

3. Re: Robert faster?

Lucius wrote:

>---------------------- Information from the mail header
-----------------------
>Sender:       Euphoria Programming for MS-DOS
><EUPHORIA at MIAMIU.ACS.MUOHIO.EDU>
>Poster:       Lucius L Hilley III <luciuslhilleyiii at JUNO.COM>
>Subject:      Robert faster?
>------------------------------------------------------------------------=
--
-----
>
>Which would be better?
>
>integer width, height
>sequence s
>
>width =3D 5
>height =3D 10
>faster =3D 1 -- should faster =3D 1 or 0?
>if faster then
>  s =3D repeat(repeat(0, width), height)
>else
>  s =3D repeat(height)
>end if
>for a =3D 1 to height do
>  s[a] =3D {a, a + 1, a + 2, a + 3, a + 4}
>end for
>
>please don't optimize my loop.
>I just need to know which way this kind of
>sequence reassignment would be handled better
>
>--Lucius Lamar Hilley III
>--  E-mail at luciuslhilleyiii at juno.com
>--  I support transferring of files less than 60K.
>--  I can Decode both UU and Base64 format.

Lucius,

Although I'm not Robert, I can give you an advice how to figure out
questions like these: Put the alternatives in a loop of, say, 1000 or 100=
00
times, time them and you'll see which one runs faster on your machine!

Adriaan Hans Rienks I

new topic     » goto parent     » topic index » view message » categorize

4. Re: Robert faster?

On Thu, 12 Jun 1997 12:26:29 -0400 Robert Craig
<robert_craig at COMPUSERVE.COM> writes:
>Lucius Hilley writes:
>> Which would be better?
>
>> integer width, height
>> sequence s
>
>> width =5
>> height = 10
>> faster = 1 -- should faster =3D 1 or 0?
>> if faster then
>>   s = repeat(repeat(0, width), height)
>> else
>>   s = repeat(0, height)
>
>> end if
>> for a = 1 to height do
>>   s[a] = {a, a + 1, a + 2, a + 3, a + 4}
>> end for

>I haven't timed it, but I'm pretty sure the "repeat(0, height)"
>method would be faster, i.e. faster = 0.

>Regards,
>  Rob Craig
>  Rapid Deployment Software
>
I know how to time them.
THANKS

My question is more along the lines.

Will Euphoria IGNORE the fact that
the appropriate amount of 2-Dimensional
space has been allocated and then
Completely recreate each sequence.

You should know the Dynamics of Euphoria.
seq = {{0, 0}, {0, 0}
Does seq become {0, {0, 0}}
{5, 6} to s[1] then becoming
{{5, 6}, {0, 0} Or will the
allocated space speed up the process.

I guess I could call this Points to Ponder.

I will be testing the speeds before your next
response.

--Lucius Lamar Hilley III
--  E-mail at luciuslhilleyiii at juno.com
--  I support transferring of files less than 60K.
--  I can Decode both UU and Base64 format.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu