John
This is where 'optimisation' comes in it would count down because
'jump zero' is a single instruction but
would only apply this if there was no reference to the loop var ie
var
i: integer
for i:= 0 to 3 do
begin
write('hello')
end;
but don't do
for i:= 0 to 3 do
begin
end;
because many optimisers will remove this loop altogether
Neven
That sort of surprises me - surely counting down instead of up would spoil
the expected logic of a loop in some cases????
Eg a trivial example, getting the first word from a string...
Function getfirstword(aline:string):integer;
Var
i:integer;
For i:=1 to length(aline) do
Begin
if(aline[i]=' ') then
begin
result:=copy(aline,1,i-1);
exit;
end;
End;
I would indeed be rather upset if I got either the last word back, or the
whole of the line except the last word.
This is a made up example, but I am sure a lot of "for" loops might be
looking for the first instance of something...are you saying we cannot rely
on the order the loop runs???
John
p.s. has anyone else noticed that sometimes when you step through a
for loop the counter actually counts down (in the debugger) (even if
it set to count up). This was the case sometimes in D6 if I recall
correctly.
It's an optimisation thing. Counting down to 0 is more efficient than
counting up.
Sean
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject:
unsubscribe
__________ NOD32 2245 (20070506) Information __________
This message was checked by NOD32 antivirus system. http://www.eset.com
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe