linux/tools/perf
Arnaldo Carvalho de Melo 9b33827de6 perf diff: Percent calcs should use double values
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: Arnaldo 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: Ingo Molnar <mingo@elte.hu>
2009-12-16 18:29:10 +01:00
..
bench perf sched: Fix build failure on sparc 2009-12-14 08:59:12 +01:00
Documentation perf diff: Use perf_session__fprintf_hists just like 'perf record' 2009-12-16 16:53:37 +01:00
scripts/perl perf trace/scripting: List available scripts 2009-12-15 10:31:32 +01:00
util perf diff: Percent calcs should use double values 2009-12-16 18:29:10 +01:00
.gitignore perf tools: Add perf.data to .gitignore 2009-11-24 16:37:01 +01:00
builtin-annotate.c perf symbols: Move symbol filtering to event__preprocess_sample() 2009-12-16 08:53:49 +01:00
builtin-bench.c perf bench: Add "all" pseudo subsystem and "all" pseudo suite 2009-12-14 08:51:19 +01:00
builtin-buildid-list.c perf symbols: Make symbol_conf global 2009-12-16 08:53:48 +01:00
builtin-diff.c perf diff: Change the default sort order to "dso,symbol" 2009-12-16 18:13:40 +01:00
builtin-help.c perf tools: Introduce zalloc() for the common calloc(1, N) case 2009-11-24 16:37:02 +01:00
builtin-kmem.c perf symbols: Adopt the strlists for dso, comm 2009-12-16 08:53:49 +01:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-probe.c perf symbols: Make symbol_conf global 2009-12-16 08:53:48 +01:00
builtin-record.c perf symbols: Adopt the strlists for dso, comm 2009-12-16 08:53:49 +01:00
builtin-report.c perf diff: Use perf_session__fprintf_hists just like 'perf record' 2009-12-16 16:53:37 +01:00
builtin-sched.c perf symbols: Make symbol_conf global 2009-12-16 08:53:48 +01:00
builtin-stat.c perf stat: Do not print ratio when task-clock event is not counted 2009-11-15 15:25:50 +01:00
builtin-timechart.c perf symbols: Adopt the strlists for dso, comm 2009-12-16 08:53:49 +01:00
builtin-top.c perf symbols: Move symbol filtering to event__preprocess_sample() 2009-12-16 08:53:49 +01:00
builtin-trace.c perf symbols: Adopt the strlists for dso, comm 2009-12-16 08:53:49 +01:00
builtin.h perf diff: Introduce tool to show performance difference 2009-12-15 08:50:29 +01:00
command-list.txt perf diff: Introduce tool to show performance difference 2009-12-15 08:50:29 +01:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
design.txt perf_event: Add alignment-faults and emulation-faults software events 2009-10-28 16:13:03 +11:00
Makefile perf trace/scripting: Don't install unneeded files 2009-12-15 10:31:31 +01:00
perf.c perf diff: Introduce tool to show performance difference 2009-12-15 08:50:29 +01:00
perf.h perf tools: Allow building for ARM 2009-12-11 13:50:21 +01:00