Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Optimizing C code for speed

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.