[ODE] SIGSEGV in dSolveLCP() at ode/src/lcp.cpp:1137

John Miles jmiles at pop.net
Sat Feb 14 09:03:51 MST 2004


> > > Branches are evil. Think of each branch as costing you 40
> arithmetic ops.
>
> > Well, that's a bit of an oversimplification.  On any modern processor, a
> > predicted branch is almost free, and I don't think a
> mispredicted one costs
> > quite that much.
>
> How modern do you consider the Springdale Pentium IV to be?
>
> Tomshardware benchmarked that against the Northwood, and at the
> same MHz, the Springdale is SLOWER than the (older) Northwood;
> probably attributable to the fact that their pipeline is deeper
> (on the order of 40 stages compared to about 30).
>
> Yes, those branches may predict well. But my experience is,
> branchless is vastly preferrable, because then you have guarantees.
>

Yep.  Guarantees of code blocks too big to fit in L1. :)

Branch prediction is one of those things that you'd never expect to work,
but that works *very* well.

-- jm



More information about the ODE mailing list