public inbox for libc-ports@sourceware.org
 help / color / mirror / Atom feed
From: "Ondřej Bílka" <neleai@seznam.cz>
To: "Joseph S. Myers" <joseph@codesourcery.com>
Cc: Will Newton <will.newton@linaro.org>,
	"libc-ports@sourceware.org" <libc-ports@sourceware.org>,
	Patch Tracking <patches@linaro.org>
Subject: Re: [PATCH v3] ARM: Improve armv7 memcpy performance.
Date: Mon, 09 Sep 2013 17:46:00 -0000	[thread overview]
Message-ID: <20130909174620.GA32192@domone.kolej.mff.cuni.cz> (raw)
In-Reply-To: <Pine.LNX.4.64.1309091709140.25250@digraph.polyomino.org.uk>

[-- Attachment #1: Type: text/plain, Size: 1930 bytes --]

On Mon, Sep 09, 2013 at 05:11:36PM +0000, Joseph S. Myers wrote:
> On Mon, 9 Sep 2013, Will Newton wrote:
> 
> > I believe the glibc memcpy benchmark is not capable in its present
> > form of showing the difference between this version of the code and
> > the current one:
> > 
> > 1. The variety of alignments benchmarked is not adequate
> > 2. The variability of the benchmark results is quite high (more runs
> > required and page allocation issue)
> > 3. The output of the benchmark contains no measure of variance
> > 4. There is no means of showing graphically the output of the
> > benchmark (for subtle differences this is necessary IMO)
> 
> Please make sure the wiki todo list 
> <https://sourceware.org/glibc/wiki/Development_Todo/Master> includes all 
> these areas for improvement of the benchmarks.
> 
> > These are all surmountable problems but I would rather not gate
> > acceptance of this code on a satisfactory resolution of the above
> > issues. I can provide output from the cortex-strings benchmark quite
> > instead though.
> 
> If your summary of the benchmarking discussion indicates that the existing 
> glibc benchmark is not relevant for the cases addressed by the patch, then 
> it's indeed appropriate to give such results from another benchmark.
> 
I would prefer get profiling results in arm, I wrote simple tool that
measures time and variance of how long it takes gcc to compile with
different memcpy versions. 

For it you need to compile old and new memcpy as separate libraries that
will be preloaded. For that you need to compile memcpy as standalone
library like 

gcc -fPIC -shared   old_memcpy.S -o old.so
gcc -fPIC -shared   new_memcpy.S -o new.so

and place old.so and new.so to benchmark directory, then run
./benchmark 

It may take long until variance becomes statistically significant so its
better ran overnigth.

If you want check another command copy and modify benchmark script.

[-- Attachment #2: test_memcpy.tar.bz2 --]
[-- Type: application/octet-stream, Size: 4209 bytes --]

  reply	other threads:[~2013-09-09 17:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-09  9:40 Will Newton
2013-09-09 13:39 ` Joseph S. Myers
2013-09-09 16:06   ` Will Newton
2013-09-09 17:11     ` Joseph S. Myers
2013-09-09 17:46       ` Ondřej Bílka [this message]
2013-09-09 21:02       ` 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=20130909174620.GA32192@domone.kolej.mff.cuni.cz \
    --to=neleai@seznam.cz \
    --cc=joseph@codesourcery.com \
    --cc=libc-ports@sourceware.org \
    --cc=patches@linaro.org \
    --cc=will.newton@linaro.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 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).