I have benchmarked one thing, if you use variables in the loop
computation rather than numbers or strings i.e.

 a=1
 b=0

 repeat with i = 1 to 100000000
 b = a + a 
 end repeat

You get a slight improvement 5-6%, I guess that's to do with the fact
that Director's variables are all of a "variant" type so it has to guess
each time even what a number 1 means, but if it's already declared it
sort of helps...still it's all bloody slow


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Tim Welford
Sent: 06 January 2005 16:29
To: Lingo programming discussion list
Subject: RE: <lingo-l> Lingo repeat loop versus other languages


So, after more than 10 versions, does anybody have any idea why the
backend is still so inefficient?

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Valentin
Schmidt
Sent: 06 January 2005 13:13
To: Lingo programming discussion list
Subject: Re: <lingo-l> Lingo repeat loop versus other languages

I had already tested this as well, changes the ratio a bit, but no big
difference, in lingo I get 22700 ms (instead of 27000), in c it's the
same as before (arround 240 ms), so the ratio is then 95:1

Valentin

Mark Whybird wrote:
> What if you leave out the j=1?
>
> (i.e., just test an empty repeat loop)
>
> The test given could equally be proving only that the command "j=1" is

> 100 times slower in lingo than VC++.
>
> I expect the real answer is somewhere in between.
>
> On my machine: (DMX04)
>
> -- "With j=1: 14923"
> -- "Without j=1: 10614"
>
> but I don't have C++ to test how that goes without anything actually 
> happening in the loop.  A guess at extrapolation from your figures and

> mine would suggest lingo is about 60 or 70 times slower (which is 
> still lots slower, as you would expect).
>
> -- Mark Whybird
>
> my code:
>
> on dotests
>
>   ms0 = the milliseconds
>   repeat with i = 1 to 100000000
>     j=1
>   end repeat
>   ms1 = the milliseconds
>   put "With j=1: " & (ms1-ms0)
>
>   ms0 = the milliseconds
>   repeat with i = 1 to 100000000
>   end repeat
>   ms1 = the milliseconds
>   put "Without j=1: " & (ms1-ms0)
>
> end dotests
>
>
>
>
>
> Valentin Schmidt wrote:
>
>> A) Lingo (DMX)
>> ms0 = the milliseconds
>> repeat with i = 1 to 100000000
>>  j=1
>> end repeat
>> ms1 = the milliseconds
>> put (ms1-ms0)
>>
>> -- 26917
>>
>> B) VC++ 6.0, console app
>> ...
>> _ftime( &tstruct0 );
>> for (i=0; i<100000000; i++) j=1;
>> _ftime( &tstruct1 );
>> ...
>>
>> --> 240 (milliseconds)
>>
>>
>> So a ratio of about 100:1 on my computer.
>>
>> Valentin
>>
>>
>>
>> Pedja wrote:
>>
>>
>>> I don't know if I've asked this before (sorry if I have)
>>>
>>> Just out of curiosity does anyone know is there any speed difference

>>> between Lingo's repeat loop and a repeat loop in some other 
>>> languages (C++,Java..etc)
>>>
>>> I know it all depends on what's inside the loop but theoretically if

>>> it's just a simple 1+1 is it the same?
>>>
>>> Cheerio
>>>
>>> Pedja
>>>
>>>
>>> [To remove yourself from this list, or to change to digest mode, go 
>>> to http://www.penworks.com/lingo-l.cgi  To post messages to the 
>>> list, email lingo-l@penworks.com  (Problems, email 
>>> [EMAIL PROTECTED]). Lingo-L is for learning and helping with 
>>> programming Lingo.  Thanks!]
>>>
>>>
>> [To remove yourself from this list, or to change to digest mode, go 
>> to http://www.penworks.com/lingo-l.cgi  To post messages to the list,

>> email lingo-l@penworks.com  (Problems, email 
>> [EMAIL PROTECTED]). Lingo-L is for learning and helping with 
>> programming Lingo.  Thanks!]

[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email
lingo-l@penworks.com  (Problems, email [EMAIL PROTECTED]).
Lingo-L is for learning and helping with programming Lingo.  Thanks!]



[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email
lingo-l@penworks.com  (Problems, email [EMAIL PROTECTED]).
Lingo-L is for learning and helping with programming Lingo.  Thanks!]




[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email 
lingo-l@penworks.com  (Problems, email [EMAIL PROTECTED]). Lingo-L is for 
learning and helping with programming Lingo.  Thanks!]

Reply via email to