From: Chris Friesen <cfriesen@nortelnetworks.com>
To: unlisted-recipients:; (no To-header on input)
Cc: Andrew Morton <akpm@osdl.org>, Stelian Pop <stelian@popies.net>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC, 2.6] a simple FIFO implementation
Date: Thu, 16 Sep 2004 23:45:37 -0600 [thread overview]
Message-ID: <414A7A01.9080708@nortelnetworks.com> (raw)
In-Reply-To: <16714.14118.212946.499226@wombat.chubb.wattle.id.au>
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
next prev parent reply other threads:[~2004-09-17 5:46 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <260353727@toto.iv>
2004-09-17 1:00 ` [RFC, 2.6] a simple FIFO implementation Peter Chubb
2004-09-17 5:45 ` Chris Friesen [this message]
2004-09-17 11:58 ` Anton Blanchard
2004-09-17 10:32 ` Stelian Pop
2004-09-13 13:52 Stelian Pop
2004-09-15 10:20 ` Stelian Pop
2004-09-15 11:10 ` Tonnerre
2004-09-15 11:25 ` Alan Cox
2004-09-15 13:27 ` Dmitry Torokhov
2004-09-15 14:21 ` Stelian Pop
2004-09-15 22:30 ` Andrew Morton
2004-09-16 6:43 ` Stelian Pop
2004-09-16 7:04 ` Andrew Morton
2004-09-16 10:45 ` Stelian Pop
2004-09-16 13:57 ` Paul Jackson
2004-09-16 14:09 ` Stelian Pop
2004-09-16 15:45 ` Paul Jackson
2004-09-16 15:59 ` Stelian Pop
2004-09-16 15:09 ` Buddy Lucas
2004-09-16 15:29 ` Stelian Pop
2004-09-16 15:51 ` Buddy Lucas
2004-09-16 15:52 ` Stelian Pop
2004-09-16 16:07 ` Buddy Lucas
2004-09-16 18:30 ` Stelian Pop
2004-09-16 22:52 ` Buddy Lucas
2004-09-16 17:00 ` Andrew Morton
2004-09-16 18:09 ` Stelian Pop
2004-09-17 0:18 ` Andrew Morton
2004-09-17 10:24 ` Stelian Pop
2004-09-17 11:28 ` Paul Jackson
2004-09-17 11:44 ` Hugh Dickins
2004-09-17 12:24 ` Stelian Pop
2004-09-17 12:37 ` Duncan Sands
2004-09-17 12:48 ` Stelian Pop
2004-09-17 13:00 ` Duncan Sands
2004-09-17 13:05 ` Stelian Pop
2004-09-17 13:16 ` Duncan Sands
2004-09-17 13:15 ` Andrea Arcangeli
2004-09-17 13:36 ` Stelian Pop
2004-09-17 13:41 ` Andrea Arcangeli
2004-09-17 14:00 ` Stelian Pop
2004-09-17 15:14 ` Andrea Arcangeli
2004-09-17 14:47 ` Paul Jackson
2004-09-17 12:52 ` James R Bruce
2004-09-17 15:48 ` Stelian Pop
2004-09-17 16:01 ` Andrea Arcangeli
2004-09-17 16:14 ` Hugh Dickins
2004-09-17 20:50 ` Stelian Pop
2004-09-17 21:28 ` Andrea Arcangeli
2004-09-17 21:54 ` Ryan Cumming
2004-09-17 22:00 ` Andrea Arcangeli
2004-09-17 22:14 ` Ryan Cumming
2004-09-17 22:35 ` Andrew Morton
2004-09-18 0:07 ` Ryan Cumming
2004-09-17 22:29 ` Ryan Cumming
2004-09-18 3:41 ` Kyle Moffett
2004-09-18 7:56 ` Ryan Cumming
2004-09-17 22:07 ` Andrew Morton
2004-09-20 15:14 ` Stelian Pop
2004-09-20 18:01 ` Sasha Khapyorsky
2004-09-20 18:22 ` Stelian Pop
2004-09-20 19:00 ` Richard B. Johnson
2004-09-16 15:57 ` Bill Davidsen
2004-09-17 10:25 ` Stelian Pop
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=414A7A01.9080708@nortelnetworks.com \
--to=cfriesen@nortelnetworks.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stelian@popies.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox