Re: RELENG_4 -> 5 -> 6: significant performance regression
- From: Kris Kennaway <kris@xxxxxxxxxxxxxx>
- Date: Sun, 30 Apr 2006 13:48:07 -0400
On Sun, Apr 30, 2006 at 10:05:40AM +0100, Chris wrote:
On 28/04/06, Kris Kennaway <kris@xxxxxxxxxxxxxx> wrote:
On Fri, Apr 28, 2006 at 03:31:17PM +0300, Dmitry Pryanishnikov wrote:
big
Hello!
On Thu, 27 Apr 2006, Kris Kennaway wrote:
Thanks for your suggestions, they've made a difference (though not as
as one could hope).non-optimal
On Thu, Apr 27, 2006 at 05:08:11PM +0300, Dmitry Pryanishnikov wrote:
makeoptions CONF_CFLAGS=-fno-builtin
Non-default option; this may conceivably affect performance.
The reason why I've initially included this option is the following
comment (NOTES from RELENG_6):
#
# CONF_CFLAGS gives some extra compiler flags that are added to ${CFLAGS}
# after most other flags. Here we use it to inhibit use of non-optimal
# gcc builtin functions (e.g., memcmp).
#
I've read this: using "CONF_CFLAGS=-fno-builtin" inhibits use of
gcc builtin functions, so this option may be useful for getting max.
performance. Are this comment and my interpretation still correct now?
I don't know, it needs to be tested in your particular case.
%Sys %Intr %Idl
RELENG_4 + rl0 14 14 72
RELENG_4 + fxp0 14 10 76
RELENG_5 + rl0 40 30 30
RELENG_5 + fxp0 35 25 40
RELENG_6 + rl0 45 40 15
RELENG_6 + fxp0 45 35 20
%Sys %Intr %Idl "time md5 -t" wall clock timetime,
RELENG_5 + rl0 33 23 44 1:41
RELENG_5 + fxp0 30 20 50 1:36
RELENG_6 + rl0 34 24 42 1:43
RELENG_6 + fxp0 30 20 50 1:40
So performance now is much better then before removal of
makeoptions CONF_CFLAGS=-fno-builtin
options INVARIANTS
options INVARIANT_SUPPORT
options QUOTA
(I'll try to find out which one of these takes which % of overhead when I
get free time), but still much worse then under RELENG_4, where this
particular (I'd say "quote common") usage pattern takes 24-28% of CPU
while under RELENG_5 / 6 it takes >= 50% ;(
Thanks. Silly question: the data transfer rate is the same on both
4.x and 6.x, right? i.e. the data transfer itself takes the same
time?
The next step is for you to run some profiling tests to see
where the kernel is spending time, e.g. with hwpmc.
Also, when you are trying to quantify performance differences, you
need to run many copies of the test (at least 10) under identical
conditions to account for possible variations. The ministat tool
(/usr/src/tools/tools/ministat) is good for performing statistically
meaningful comparisons of data sets when you have them.
Kris
Does 'makeoptions DEBUG=-g' add any kind of performance hit or
overhead as I noticed it wasnt default in 5.4 but is in 6.0.
No, the symbols are stripped from the install kernel.
Kris
Attachment:
pgp1i20BvERCN.pgp
Description: PGP signature
- References:
- RELENG_4 -> 5 -> 6: significant performance regression
- From: Dmitry Pryanishnikov
- Re: RELENG_4 -> 5 -> 6: significant performance regression
- From: Kris Kennaway
- Re: RELENG_4 -> 5 -> 6: significant performance regression
- From: Dmitry Pryanishnikov
- Re: RELENG_4 -> 5 -> 6: significant performance regression
- From: Kris Kennaway
- Re: RELENG_4 -> 5 -> 6: significant performance regression
- From: Chris
- RELENG_4 -> 5 -> 6: significant performance regression
- Prev by Date: Re: RELENG_4 -> 5 -> 6: significant performance regression
- Previous by thread: Re: RELENG_4 -> 5 -> 6: significant performance regression
- Next by thread: console on sioN (not 0), RELENG_6
- Index(es):
Relevant Pages
|
|