• Arnaldo Carvalho de Melo's avatar
    perf diff: Percent calcs should use double values · 9b33827d
    Arnaldo Carvalho de Melo authored
    Otherwise we do integer math and the delta values round up to
    multiples of 1.0%.
    
    Also, calculate absolute values. Things look precise now:
    
    $ perf report -i perf.data.old --sort dso,symbol | head -13
         9.02%  libc-2.10.1.so               [.] _IO_vfprintf_internal
         4.88%  find                         [.] 0x00000000014af0
         2.91%  [kernel]                     [k] __kmalloc
         2.85%  [kernel]                     [k] ext4_htree_store_dirent
         2.50%  libc-2.10.1.so               [.] __GI_memmove
         2.44%  [kernel]                     [k] half_md4_transform
         2.43%  [kernel]                     [k] _spin_lock
         2.33%  [kernel]                     [k] system_call
    $ perf report -i perf.data --sort dso,symbol | head -13
         8.55%  libc-2.10.1.so               [.] _IO_vfprintf_internal
         3.11%  [kernel]                     [k] __kmalloc
         3.07%  [kernel]                     [k] ext4_htree_store_dirent
         2.66%  find                         [.] 0x00000000016bcf
         2.61%  [kernel]                     [k] _atomic_dec_and_lock
         2.46%  [kernel]                     [k] half_md4_transform
         2.41%  libc-2.10.1.so               [.] __GI_memmove
         2.30%  find                         [.] 0x00000000009219
    $ perf diff | head -13
         9.02%     -0.47%  libc-2.10.1.so               [.] _IO_vfprintf_internal
         2.91%     +0.20%  [kernel]                     [k] __kmalloc
         2.85%     +0.23%  [kernel]                     [k] ext4_htree_store_dirent
         1.99%     +0.62%  [kernel]                     [k] _atomic_dec_and_lock
         2.44%     +0.02%  [kernel]                     [k] half_md4_transform
         2.50%     -0.09%  libc-2.10.1.so               [.] __GI_memmove
         1.88%     +0.01%  [kernel]                     [k] __d_lookup
         2.43%     -0.75%  [kernel]                     [k] _spin_lock
         0.97%     +0.62%  [kernel]                     [k] path_get
         1.99%     -0.42%  libc-2.10.1.so               [.] _int_malloc
    $
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Frédéric Weisbecker <fweisbec@gmail.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Paul Mackerras <paulus@samba.org>
    LKML-Reference: <1260981109-2621-1-git-send-email-acme@infradead.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    9b33827d
hist.c 14.2 KB