From: Paul Jackson <pj@sgi.com>
To: Andrew Morton <akpm@osdl.org>
Cc: joe.korty@ccur.com, paulus@samba.org, linux-kernel@vger.kernel.org
Subject: Re: seperator error in __mask_snprintf_len
Date: Thu, 15 Jan 2004 14:53:57 -0800 [thread overview]
Message-ID: <20040115145357.1033d65a.pj@sgi.com> (raw)
In-Reply-To: <20040115081533.63c61d7f.akpm@osdl.org>
Andrew wrote:
> Gad.
Could you elaborate a bit on this critique, Andrew?
You sketch an alternative, that loops by bit, with an sprintf each
nibble, instead of looping by u32 word. By the time that alternative is
fancied up to handle (optionally) suppression of leading zero words and
(vital, for very long masks) a 32-bit word separator, and various other
details, I doubt that it will be any simpler than the corresponding bit
of code in my patch:
int i = maskbytes/sizeof(u32) - 1;
int len = 0;
char *sep = "";
while (i >= 1 && wordp[M32X(i)] == 0)
i--;
while (i >= 0) {
len += snprintf(buf+len, buflen-len,
"%s%x", sep, wordp[M32X(i)]);
sep = ",";
i--;
}
I am at a loss to understand why the above u32 loop version of this code
is so much worse that it only merits a "Gad".
Did I provide too many comments?
> It is hardly performance-critical.
I quite agree on that. One thing I _do_ try to optimize in most code is
the number of "fussy details". The few operations, conditions, special
cases, and such, the better, given the finite limits of human brain power.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.650.933.1373
next prev parent reply other threads:[~2004-01-15 22:54 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-07 16:56 seperator error in __mask_snprintf_len Joe Korty
2004-01-07 19:32 ` Andrew Morton
2004-01-08 13:11 ` Paul Jackson
2004-01-08 22:50 ` Paul Mackerras
2004-01-08 22:59 ` Joe Korty
2004-01-09 0:07 ` Paul Mackerras
2004-01-09 1:11 ` Paul Jackson
2004-01-14 23:03 ` Paul Jackson
2004-01-15 0:27 ` Joe Korty
2004-01-15 0:37 ` Paul Jackson
2004-01-15 4:40 ` Paul Jackson
2004-01-15 16:15 ` Andrew Morton
2004-01-15 18:15 ` Joe Korty
2004-01-16 0:17 ` Paul Jackson
2004-01-16 0:48 ` Joe Korty
2004-01-16 1:48 ` Paul Jackson
2004-01-16 23:29 ` Matthew Dobson
2004-01-17 6:36 ` [PATCH] bitmap parsing routines, version 3 Joe Korty
2004-01-17 10:08 ` Paul Jackson
[not found] ` <20040117145545.GA16318@tsunami.ccur.com>
2004-01-17 15:36 ` Joe Korty
2004-01-17 23:33 ` Paul Jackson
2004-01-18 5:52 ` William Lee Irwin III
2004-01-18 7:03 ` Paul Jackson
2004-01-17 18:39 ` [PATCH] bitmap parsing/printing routines, version 4 Joe Korty
2004-01-17 23:36 ` Paul Jackson
2004-01-19 21:17 ` Matthew Dobson
2004-01-20 0:17 ` Paul Jackson
2004-01-20 3:57 ` Joe Korty
2004-01-20 4:15 ` Paul Jackson
2004-01-20 5:41 ` Randy Dunlap
2004-01-20 7:03 ` Matthew Dobson
2004-01-20 15:36 ` Joe Korty
2004-01-20 17:06 ` Matthew Dobson
2004-01-17 9:12 ` seperator error in __mask_snprintf_len Paul Jackson
2004-01-16 5:14 ` Paul Jackson
2004-01-16 5:26 ` Andrew Morton
2004-01-16 5:52 ` William Lee Irwin III
2004-01-16 14:23 ` Joe Korty
2004-01-17 10:07 ` Paul Jackson
2004-01-15 22:53 ` Paul Jackson [this message]
2004-01-16 1:06 ` Andrew Morton
2004-01-16 2:54 ` Paul Jackson
2004-01-09 14:28 ` Paul Jackson
2004-01-09 14:46 ` Paul Jackson
2004-01-09 15:14 ` Andreas Schwab
2004-01-09 15:25 ` Christoph Hellwig
2004-01-09 17:23 ` Paul Jackson
2004-01-12 0:09 ` Joe Korty
2004-01-12 21:41 ` Paul Jackson
2004-01-12 22:00 ` Joe Korty
2004-01-12 22:28 ` Paul Jackson
2004-01-12 22:39 ` Joe Korty
2004-01-09 14:57 ` Paul Jackson
2004-01-08 1:06 ` Paul Jackson
2004-01-08 3:32 ` Joe Korty
2004-01-08 10:39 ` Paul Jackson
[not found] <1bpdu-5jP-35@gated-at.bofh.it>
[not found] ` <1brIi-Y0-57@gated-at.bofh.it>
[not found] ` <1bIf6-fh-21@gated-at.bofh.it>
[not found] ` <1bRiA-4PD-19@gated-at.bofh.it>
[not found] ` <1bRrZ-58C-9@gated-at.bofh.it>
[not found] ` <1bSHD-Xz-21@gated-at.bofh.it>
[not found] ` <1e2sZ-rG-19@gated-at.bofh.it>
[not found] ` <1e3Ih-1V0-1@gated-at.bofh.it>
[not found] ` <1e7Cd-4qD-5@gated-at.bofh.it>
[not found] ` <1einZ-64E-11@gated-at.bofh.it>
[not found] ` <1ekpM-87C-1@gated-at.bofh.it>
[not found] ` <1euyS-Eb-19@gated-at.bofh.it>
[not found] ` <1euSb-U8-3@gated-at.bofh.it>
2004-01-16 8:25 ` Andi Kleen
2004-01-16 8:35 ` Andrew Morton
2004-01-16 10:16 ` Andi Kleen
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=20040115145357.1033d65a.pj@sgi.com \
--to=pj@sgi.com \
--cc=akpm@osdl.org \
--cc=joe.korty@ccur.com \
--cc=linux-kernel@vger.kernel.org \
--cc=paulus@samba.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.