Messages in this thread | | | Date | Thu, 16 Sep 2004 23:45:37 -0600 | From | Chris Friesen <> | Subject | Re: [RFC, 2.6] a simple FIFO implementation |
| |
Peter Chubb wrote:
> This depends on how expensive % is. On IA64, something like this: > > add(char c) { > int i = p->head == p->len ? p->head++ : 0; > p->buf[i] = c; > } > > is cheaper, as % generates a subroutine call to __modsi3. It also is > shorter =-- 12 bundles as opposed to 15.
I did a similar test once for ppc that found that an increment followed by a test (marked unlikely) was actually quicker in practice than modulo arithmetic. The branch predictor got it right most of the time, so the test was almost free.
Chris - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |