On Thursday, 14 February 2013 at 13:29:07 UTC, John Colvin wrote:


Not internally to the function, no.

In truth, there's no need to do this. Branch prediction (http://en.wikipedia.org/wiki/Branch_predictor) should reduce the cost hugely.
Thank you for the link.  I will see this and come back.

Also, a comparison is only going to be 1 cycle, saving a single cycle per second is irrelevant.
For iterating through a ranges of indices in a circular way, I have seen people coding like

int i=0;
while(true)
{
    ...
    i = (i+1)%10;       
}

People argue i = (i+1)%10 is less costly to the combination below.
++i;
if(i==10)
    i = 0;

If the comparison instruction takes only one cycle, how is this argument correct? Please let me know if that argument is incorrect.

Thanks,
Gopan.

Reply via email to