linux/tools/perf/ui
Jiri Olsa f299842269 perf tools: Move elide bool into perf_hpp_fmt struct
After output/sort fields refactoring, it's expensive
to check the elide bool in its current location inside
the 'struct sort_entry'.

The perf_hpp__should_skip function gets highly noticable in
workloads with high number of output/sort fields, like for:

  $ perf report -i perf-test.data -F overhead,sample,period,comm,pid,dso,symbol,cpu --stdio

Performance report:
   9.70%  perf  [.] perf_hpp__should_skip

Moving the elide bool into the 'struct perf_hpp_fmt', which
makes the perf_hpp__should_skip just single struct read.

Got speedup of around 22% for my test perf.data workload.
The change should not harm any other workload types.

Performance counter stats for (10 runs):
  before:
   358,319,732,626      cycles                    ( +-  0.55% )
   467,129,581,515      instructions              #    1.30  insns per cycle          ( +-  0.00% )

     150.943975206 seconds time elapsed           ( +-  0.62% )

  now:
   278,785,972,990      cycles                    ( +-  0.12% )
   370,146,797,640      instructions              #    1.33  insns per cycle          ( +-  0.00% )

     116.416670507 seconds time elapsed           ( +-  0.31% )

Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/20140601142622.GA9131@krava.brq.redhat.com
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
2014-06-03 21:34:59 +02:00
..
browsers perf tools: Move elide bool into perf_hpp_fmt struct 2014-06-03 21:34:59 +02:00
gtk perf ui/gtk: Fix callchain display 2014-06-01 14:35:09 +02:00
stdio perf ui/stdio: Fix invalid percentage value of cumulated hist entries 2014-06-01 14:35:09 +02:00
tui
browser.c perf tools: Fix "==" into "=" in ui_browser__warning assignment 2014-06-03 21:34:48 +02:00
browser.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
helpline.c
helpline.h
hist.c perf tools: Do not auto-remove Children column if --fields given 2014-06-01 14:35:05 +02:00
keysyms.h
libslang.h
progress.c
progress.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
setup.c perf tools: Call perf_hpp__init() before setting up GUI browsers 2014-05-21 11:45:35 +02:00
ui.h
util.c
util.h