mailing list of musl libc
 help / color / mirror / code / Atom feed
From: John Mudd <johnbmudd@gmail.com>
To: musl <musl@lists.openwall.com>, John Mudd <johnbmudd@gmail.com>
Subject: Re: musl perf, 20% slower than native build?
Date: Wed, 8 Apr 2015 15:10:51 -0400	[thread overview]
Message-ID: <CAGDMk9EOFenPW2zWAMMkvD2+mV9PLu++mtaw5OVZ=6Q0gZRCLw@mail.gmail.com> (raw)
In-Reply-To: <20150408160507.GB31681@port70.net>

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

Here's a fresh native compile of the same version of Python, same gcc. Now
the musl version is only slightly slower, maybe 5%. BTW, I'm not
complaining. I use musl for portability, not speed.

$ python
Python 2.7.9 (default, Apr  8 2015, 14:29:14)
[GCC 4.8.2] on linux2
>>>

$ perf stat ~/multicorn_ctree/spitfire_bigtable.py
StringIO                                      523.62 ms
cStringIO                                     144.32 ms
list concat                                    55.12 ms

 Performance counter stats for
'/home/mudd/multicorn_ctree/spitfire_bigtable.py':

        769.874633 task-clock (msec)         #    0.977 CPUs utilized
               269 context-switches          #    0.349 K/sec
                 6 cpu-migrations            #    0.008 K/sec
             5,997 page-faults               #    0.008 M/sec
     2,043,153,669 cycles                    #    2.654 GHz
    [50.74%]
   <not supported> stalled-cycles-frontend
   <not supported> stalled-cycles-backend
     2,993,940,382 instructions              #    1.47  insns per cycle
    [75.11%]
       673,064,696 branches                  #  874.252 M/sec
    [74.59%]
        15,486,299 branch-misses             #    2.30% of all branches
    [74.71%]

       0.787704322 seconds time elapsed
$


Here's output from perf record/report for libc. This looks consistent with
the 5% longer run time.

native:
     2.20%   python  libc-2.19.so         [.] __memcpy_ssse3
     0.85%   python  libc-2.19.so         [.] __x86.get_pc_thunk.bx
     0.72%   python  libc-2.19.so         [.] _int_malloc
     0.56%   python  libc-2.19.so         [.] __memset_sse2
     0.47%   python  libc-2.19.so         [.] _int_free
     0.38%   python  libc-2.19.so         [.] malloc
     0.25%   python  libc-2.19.so         [.] realloc
     0.25%   python  libc-2.19.so         [.] __ctype_b_loc
     0.10%   python  libc-2.19.so         [.] free
     0.04%   python  libc-2.19.so         [.] __strchr_sse2_bsf
     0.03%   python  libc-2.19.so         [.] __memcpy_ia32
     0.03%   python  libc-2.19.so         [.] __sbrk
     0.03%   python  libc-2.19.so         [.] vfprintf
     0.03%   python  libc-2.19.so         [.] mremap_chunk
     0.03%   python  libc-2.19.so         [.] __strncpy_ssse3
     0.03%   python  libc-2.19.so         [.] __strlen_sse2_bsf
     0.03%   python  libc-2.19.so         [.] __x86.get_pc_thunk.cx

musl:
     4.74%   python  libc.so              [.] memcpy
     2.05%   python  libc.so              [.] free
     1.17%   python  libc.so              [.] malloc
     1.05%   python  libc.so              [.] unbin
     0.90%   python  libc.so              [.] a_and_64
     0.81%   python  libc.so              [.] a_or_64
     0.68%   python  libc.so              [.] memset
     0.31%   python  libc.so              [.] bin_index_up
     0.22%   python  libc.so              [.] bin_index
     0.22%   python  libc.so              [.] a_ctz_64
     0.16%   python  libc.so              [.] realloc
     0.16%   python  libc.so              [.] __x86.get_pc_thunk.bx
     0.14%   python  libc.so              [.] strlen
     0.12%   python  libc.so              [.] trim
     0.12%   python  libc.so              [.] strcmp
     0.09%   python  libc.so              [.] adjust_size
     0.06%   python  libc.so              [.] __strerror_l
     0.06%   python  libc.so              [.] __stpncpy
     0.03%   python  libc.so              [.] first_set
     0.03%   python  libc.so              [.] .L80
     0.03%   python  libc.so              [.] remap_rel
     0.03%   python  libc.so              [.] find_sym
     0.03%   python  libc.so              [.] sysv_hash
     0.03%   python  libc.so              [.] fclose
     0.03%   python  libc.so              [.] do_relocs
     0.03%   python  libc.so              [.] __aio_close
     0.03%   python  libc.so              [.] sysv_lookup




On Wed, Apr 8, 2015 at 12:05 PM, Szabolcs Nagy <nsz@port70.net> wrote:

> 20% is tiny measurement noise compared to the huge
> variance in the environments you are comparing
>
>

[-- Attachment #2: Type: text/html, Size: 6536 bytes --]

  reply	other threads:[~2015-04-08 19:10 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-08 15:33 John Mudd
2015-04-08 15:58 ` Alexander Monakov
2015-04-08 16:05 ` Szabolcs Nagy
2015-04-08 19:10   ` John Mudd [this message]
2015-04-08 19:28     ` Daniel Cegiełka
2015-04-08 20:59       ` Paul Schutte
2015-04-09  6:50         ` Daniel Cegiełka
2015-04-09 17:28         ` Execinfo.h, backtrace is needed Jean-Marc Pigeon
2015-04-09 17:34           ` Rich Felker
2015-04-09 17:57             ` Alexander Monakov
2015-04-10 14:30               ` Jean-Marc Pigeon
2015-04-08 19:33     ` musl perf, 20% slower than native build? Alexander Monakov
2015-04-08 20:16       ` John Mudd
2015-04-08 20:24         ` John Mudd
2015-04-08 21:48           ` John Mudd

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='CAGDMk9EOFenPW2zWAMMkvD2+mV9PLu++mtaw5OVZ=6Q0gZRCLw@mail.gmail.com' \
    --to=johnbmudd@gmail.com \
    --cc=musl@lists.openwall.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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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 NNTP newsgroup(s).