Author: Bruce Moreland
Date: 16:12:16 01/01/03
Go up one level in this thread
On January 01, 2003 at 12:21:14, Vincent Diepeveen wrote:
>On January 01, 2003 at 11:50:58, Lieven Clarisse wrote:
>
>>I was wondering if there is a good book about how to write efficient C code. I
>>am not talking about algorithms, but the way *how* to write things, eg
>>
>>which is faster :
>>do {} while() or while () {}
>
>compilers are very good in handling this but
>in general
>
>do {
> ..
>} while();
>
>is better for processors (assuming no -O2 but -O) because it
>will allow fall through prediction of processors better.
>
>So the while() might get mispredicted when it is a fall through
>where the do .. while will usually get correctly predicted.
>
>Also while is an extra instruction. it is an extra JMP to above
>which the do .. while doesn't have.
>
>Another reason is you do 1 compare less in a do .. while versus
>a while .. do
>
>However compilers aren't stupid. usually they optimize it to the same
>thing.
>
>Best regards,
>Vincent
I assume that the compiler is going to get it right. If I need to check up on
the compiler later, I do. But the point of a high level language is that you
can write for clarity, and this should be what you do by default.
bruce
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.