• Jiri Olsa's avatar
    perf tools: Cache register accesses for unwind processing · 0c4e774f
    Jiri Olsa authored
    Caching registers value into an array. Got about 4% speed up
    of perf_reg_value function for report command processing
    dwarf unwind stacks.
    
    Output from report over 1.5 GB data with DWARF unwind stacks:
    (TODO fix perf diff)
    
      current code:
       5.84%     perf  perf                       [.] perf_reg_value
      change:
       1.94%     perf  perf                       [.] perf_reg_value
    
    And little bit of overall speed up:
    (perf stat -r 5 -e '{cycles,instructions}:u' ...)
    
      current code:
       310,298,611,754      cycles                     ( +-  0.33% )
       439,669,689,341      instructions               ( +-  0.03% )
    
         188.656753166 seconds time elapsed            ( +-  0.82% )
    
      change:
       291,315,329,878      cycles                     ( +-  0.22% )
       391,763,485,304      instructions               ( +-  0.03%  )
    
         180.742249687 seconds time elapsed            ( +-  0.64% )
    Acked-by: default avatarNamhyung 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: Jean Pihet <jean.pihet@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1401892622-30848-2-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarJiri Olsa <jolsa@kernel.org>
    0c4e774f
perf_regs.h 555 Bytes