aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/syscall-counts-by-pid.py
diff options
context:
space:
mode:
authorKAMEZAWA Hiroyuki <[email protected]>2012-03-23 15:02:54 -0700
committerLinus Torvalds <[email protected]>2012-03-23 16:58:42 -0700
commit1ac101a5d675aca2426c5cd460c73fb95acb8391 (patch)
tree5d993fde0c5e67de97c0d9ffac54163f06fc90c9 /tools/perf/scripts/python/syscall-counts-by-pid.py
parent59a32e2ce5eb809967cac4e718bc527beca83c59 (diff)
procfs: add num_to_str() to speed up /proc/stat
== stat_check.py num = 0 with open("/proc/stat") as f: while num < 1000 : data = f.read() f.seek(0, 0) num = num + 1 == perf shows 20.39% stat_check.py [kernel.kallsyms] [k] format_decode 13.41% stat_check.py [kernel.kallsyms] [k] number 12.61% stat_check.py [kernel.kallsyms] [k] vsnprintf 10.85% stat_check.py [kernel.kallsyms] [k] memcpy 4.85% stat_check.py [kernel.kallsyms] [k] radix_tree_lookup 4.43% stat_check.py [kernel.kallsyms] [k] seq_printf This patch removes most of calls to vsnprintf() by adding num_to_str() and seq_print_decimal_ull(), which prints decimal numbers without rich functions provided by printf(). On my 8cpu box. == Before patch == [root@bluextal test]# time ./stat_check.py real 0m0.150s user 0m0.026s sys 0m0.121s == After patch == [root@bluextal test]# time ./stat_check.py real 0m0.055s user 0m0.022s sys 0m0.030s [[email protected]: remove incorrect comment, use less statck in num_to_str(), move comment from .h to .c, simplify seq_put_decimal_ull()] [[email protected]: avoid breaking the ABI in /proc/stat] Signed-off-by: KAMEZAWA Hiroyuki <[email protected]> Signed-off-by: Andrea Righi <[email protected]> Cc: Eric Dumazet <[email protected]> Cc: Glauber Costa <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Paul Turner <[email protected]> Cc: Russell King <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts-by-pid.py')
0 files changed, 0 insertions, 0 deletions