From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16737 invoked by alias); 3 Sep 2013 13:46:17 -0000 Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org Received: (qmail 16724 invoked by uid 89); 3 Sep 2013 13:46:16 -0000 Received: from mail-pa0-f50.google.com (HELO mail-pa0-f50.google.com) (209.85.220.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 03 Sep 2013 13:46:16 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,NO_RELAYS autolearn=ham version=3.3.2 X-HELO: mail-pa0-f50.google.com Received: by mail-pa0-f50.google.com with SMTP id fb10so6453195pad.37 for ; Tue, 03 Sep 2013 06:46:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=HGsHrpF3X8zmrah/29Q82wpdNnFFPXTyGdpJLo1J0uM=; b=QI03XwyZwwSU+wcbIFTDdwpP0vPywpt55sxIk9bqTejRB0m+Psu4X9wDwasFgHH+RC 2nc27bx4kAN+/rez9wL584tIuM+OoC1tyKNVs1DCetlAEI5BJdW0YTM6Ec03G7sgFRcQ obbIulvjJbqqwU3VxWRzIGUuwKZL3nEQNuwMDaXA32M3gmxQv9noL29nLuqz/rTxvuzr bVJelLo/Zso2aC52tRoulv3K/zGOlqcXvMytyB/huLsczfAk9tx3joku8gPQVrOS057k i9ka/wkvUWYi23EoFtSqVvltTBBLsv+98uhG0vh2Sjm98fQnaW1F0lYJ2d7v4GCGR++3 XbRQ== X-Gm-Message-State: ALoCoQl5vRTohu6/DuYTD/JoTSMuyD8pQoKFCqV0Ef413N0usIQ3wa86mjjORnxZssz9MRrsOd0D MIME-Version: 1.0 X-Received: by 10.68.137.1 with SMTP id qe1mr31820695pbb.25.1378215973365; Tue, 03 Sep 2013 06:46:13 -0700 (PDT) Received: by 10.70.53.198 with HTTP; Tue, 3 Sep 2013 06:46:13 -0700 (PDT) In-Reply-To: <20130902142037.GH3273@spoyarek.pnq.redhat.com> References: <520894D5.7060207@linaro.org> <5220D30B.9080306@redhat.com> <5220F1F0.80501@redhat.com> <20130902142037.GH3273@spoyarek.pnq.redhat.com> Date: Tue, 03 Sep 2013 13:46:00 -0000 Message-ID: Subject: Re: benchmark improvements (Was: Re: [PATCH] sysdeps/arm/armv7/multiarch/memcpy_impl.S: Improve performance.) From: Will Newton To: Siddhesh Poyarekar Cc: "Carlos O'Donell" , "libc-ports@sourceware.org" , =?ISO-8859-2?B?T25k+GVqIELtbGth?= , libc-alpha Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2013-09/txt/msg00015.txt.bz2 On 2 September 2013 15:20, Siddhesh Poyarekar wrote: > Adding libc-alpha since my comments on this are more suitable there - > maybe we should just get rid of the ports mailing list altogether. > > On Mon, Sep 02, 2013 at 02:58:23PM +0100, Will Newton wrote: >> The key advantage of the cortex-strings framework is that it allows >> graphing the results of benchmarks. Often changes to string function >> performance can only really be analysed graphically as otherwise you >> end up with a huge soup of numbers, some going up, some going down and >> it is very hard to separate the signal from the noise. > > We already depend on gd-devel to draw graphs for memusagestat. Maybe > we could leverage that in the microbenchmark as well and come up with > html reports rather than just a bench.out? Graphs in general are a > lot more readable and I agree that they would be the next logical > improvement to the benchmark framework. gd is quite basic from a graph plotting point of view, it's more of a low-level graphics library and requires wrappers to call from scripting languages. I already have some code I can cannibalize from cortex-strings that uses Python and Pylab to do the plotting, I'll submit a patch for review soon. >> The glibc benchmarks also have some other weaknesses that should >> really be addressed, hopefully I'll have some time to write patches >> for some of this work. > > I know Ondrej had proposed a few improvements as well. I'd like to > see those reposted so that we can look at it and if possible, have > them merged in. I already have a patch to do multiple runs of benchmarks - some things like physical page allocation that can impact a benchmark can only be controlled for this way. As I mentioned above I'd also like to get graphing capability in there too. Beyond that it would be nice to have a look at the various sizes and alignments used and make sure there is a reasonably complete set, and to make sure the tests are run for a useful number of iterations (not too large or too small). -- Will Newton Toolchain Working Group, Linaro