3 ms·
>> Thus conditional-free programming (as presented here, in C) is mostly academic Do you think this is true because C code has traditionally relied so heavily
by JOnAgain 14y ago
>> Thus conditional-free programming (as presented here, in C) is mostly academic
Do you think this is true because C code has traditionally relied so heavily on branching?
Put another way, perhaps branch-free programming is has greater speed potential, but the tools we use have been heavily optimized for branch-laden programming. Maybe putting sufficient resources into optimizing code for branch-free programming (and stripping out optimizations for branching) would yield faster execution.
I don't know the answer, just musing. I am curious, though.
- wtracy 14y agoWell, the "branch-free" paradigm requires pushing a stack frame and making a jump to the passed function (requiring a pointer lookup) and a jump back to the calling function. In the branching paradigm, only one execution path requires a jump at all, and that jump is made based on an offset embedded directly into the machine code, so the additional pointer lookup is not needed. So, I'm going to come down on the side of the traditional model being inherently more performant.