public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: "Jörn Engel" <joern@purestorage.com>
To: Torvald Riegel <triegel@redhat.com>
Cc: "GNU C. Library" <libc-alpha@sourceware.org>,
	Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com>,
	Joern Engel <joern@purestorage.org>
Subject: Re: malloc: performance improvements and bugfixes
Date: Tue, 26 Jan 2016 18:00:00 -0000	[thread overview]
Message-ID: <20160126175940.GK5745@Sligo.logfs.org> (raw)
In-Reply-To: <1453829759.4592.116.camel@localhost.localdomain>

On Tue, Jan 26, 2016 at 06:35:59PM +0100, Torvald Riegel wrote:
> On Tue, 2016-01-26 at 09:26 -0800, Jörn Engel wrote:
> > On Tue, Jan 26, 2016 at 06:20:25PM +0100, Torvald Riegel wrote:
> > > 
> > > How do the allocation patterns look like?  There can be big variations
> > > in allocation frequency and size, lifetime of allocated regions,
> > > relation between allocations and locality, etc.  Some programs allocate
> > > most up-front, others have lots of alloc/dealloc during the lifetime of
> > > the program.
> > 
> > Lots of alloc/dealloc during the lifetime.  To give you a rough scale,
> > malloc consumed around 1.7% cputime in the stable state.  Now it is down
> > to about 0.7%.
> 
> Eventually, I think we'd like to get more detail on this, so that we
> start tracking performance regressions too and that the model of
> workloads we have is less hand-wavy than "big application".  Given that
> malloc will remain a general-purpose allocator (at least in the default
> config / tuning), we'll have to choose trade-off so that they represent
> workloads, for which we'll have to classify workloads in some way.

The workload itself is closed source, so the only ones ever testing with
that workload is likely us.  Hence my handwaving.  Having some other
application available to the general public for testing would be nice,
though.

I suspect there isn't even a shortage of applications to choose from.
Firefox uses jemalloc.  If you can automate some runs in firefox and
compare jemalloc to libc malloc, you will likely find the same problems
we encountered.  And from what I heard there is no shortage of open
source applications that switched over to jemalloc or tcmalloc and could
be used as well.

Cheap NUMA systems are below $5k, so not completely outragous.  QEMU
probably cannot be used to simulate the performance effects, so you need
hardware.

Jörn

--
A victorious army first wins and then seeks battle.
-- Sun Tzu

  reply	other threads:[~2016-01-26 18:00 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-26  0:25 Joern Engel
2016-01-26  0:25 ` [PATCH] malloc: kill mprotect Joern Engel
2016-01-26 12:22 ` malloc: performance improvements and bugfixes Torvald Riegel
2016-01-26 17:15   ` Jörn Engel
2016-01-26 17:20     ` Torvald Riegel
2016-01-26 17:27       ` Jörn Engel
2016-01-26 17:36         ` Torvald Riegel
2016-01-26 18:00           ` Jörn Engel [this message]
2016-01-27 13:20             ` Torvald Riegel
2016-01-27 17:39               ` Jörn Engel
2016-01-27 17:49                 ` Mike Frysinger
2016-01-27 21:37                 ` Torvald Riegel
2016-01-27 23:50                   ` Jörn Engel
2016-01-28 14:05                     ` Torvald Riegel
2016-01-28 14:25                 ` Szabolcs Nagy
2016-01-26  0:26 Joern Engel
2016-01-26  0:50 ` Paul Eggert
2016-01-26  1:01   ` Jörn Engel
2016-01-26  1:52     ` Siddhesh Poyarekar
2016-01-26  2:45       ` Jörn Engel
2016-01-26  3:22         ` Jörn Engel
2016-01-26  6:22           ` Mike Frysinger
2016-01-26  7:54             ` Jörn Engel
2016-01-26  9:53               ` Florian Weimer
2016-01-26 17:05                 ` Jörn Engel
2016-01-26 17:31                   ` Paul Eggert
2016-01-26 17:48                     ` Adhemerval Zanella
2016-01-26 17:49                   ` Joseph Myers
2016-01-26 17:57                   ` Mike Frysinger
2016-01-27 20:46                     ` Manuel López-Ibáñez
2016-01-26 12:37           ` Torvald Riegel
2016-01-26 13:23           ` Florian Weimer
2016-01-26  7:40         ` Paul Eggert
2016-01-26  9:54         ` Florian Weimer
2016-01-26  1:52     ` Joseph Myers
2016-01-26 20:50   ` Steven Munroe
2016-01-26 21:40     ` Florian Weimer
2016-01-26 21:48       ` Steven Munroe
2016-01-26 21:51         ` Florian Weimer
2016-01-26 21:51       ` Paul Eggert
2016-01-26 21:57         ` Florian Weimer
2016-01-26 22:18           ` Paul Eggert
2016-01-26 22:24             ` Florian Weimer
2016-01-27  1:31               ` Paul Eggert
2016-01-26 22:00       ` Jörn Engel
2016-01-26 22:02         ` Florian Weimer
2016-01-27 21:45   ` Carlos O'Donell
2016-01-28 13:51 ` Carlos O'Donell

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=20160126175940.GK5745@Sligo.logfs.org \
    --to=joern@purestorage.com \
    --cc=joern@purestorage.org \
    --cc=libc-alpha@sourceware.org \
    --cc=siddhesh.poyarekar@gmail.com \
    --cc=triegel@redhat.com \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).