lkml.org 
[lkml]   [2010]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/5] perf stat: add perf stat -B to pretty print large numbers
From
Date
On Tue, 18 May 2010 23:08:16 -0300, Arnaldo Carvalho de Melo said:

(Sorry for late reply)

> instance LC_NUMERIC=en_US.UTF8. You need to pass -B to activate this
> feature. This way existing scripts parsing the output do not need to be
> changed. Here is an example.
>
> $ perf stat noploop 2
> noploop for 2 seconds
>
> Performance counter stats for 'noploop 2':
>
> 1998.347031 task-clock-msecs # 0.998 CPUs
> 61 context-switches # 0.000 M/sec
> 0 CPU-migrations # 0.000 M/sec
> 118 page-faults # 0.000 M/sec
> 4,138,410,900 cycles # 2070.917 M/sec (scaled from 70.01%)
> 2,062,650,268 instructions # 0.498 IPC (scaled from 70.01%)
> 2,057,653,466 branches # 1029.678 M/sec (scaled from 70.01%)
> 40,267 branch-misses # 0.002 % (scaled from 30.04%)
> 2,055,961,348 cache-references # 1028.831 M/sec (scaled from 30.03%)
> 53,725 cache-misses # 0.027 M/sec (scaled from 30.02%)
>
> 2.001393933 seconds time elapsed
>
> $ perf stat -B noploop 2
> noploop for 2 seconds
>
> Performance counter stats for 'noploop 2':
>
> 1998.297883 task-clock-msecs # 0.998 CPUs
> 59 context-switches # 0.000 M/sec
> 0 CPU-migrations # 0.000 M/sec
> 119 page-faults # 0.000 M/sec
> 4,131,380,160 cycles # 2067.450 M/sec (scaled from 70.01%)
> 2,059,096,507 instructions # 0.498 IPC (scaled from 70.01%)
> 2,054,681,303 branches # 1028.216 M/sec (scaled from 70.01%)
> 25,650 branch-misses # 0.001 % (scaled from 30.05%)
> 2,056,283,014 cache-references # 1029.017 M/sec (scaled from 30.03%)
> 47,097 cache-misses # 0.024 M/sec (scaled from 30.02%)
>
> 2.001391016 seconds time elapsed

Is it me, or did -B not make any difference for these two examples?
I'm confused.

> - fprintf(stderr, " %14.6f %-24s", msecs, event_name(counter));
> + fprintf(stderr, " %18.6f %-24s", msecs, event_name(counter));

> - fprintf(stderr, " %14.0f %-24s", avg, event_name(counter));
> + if (big_num)
> + fprintf(stderr, " %'18.0f %-24s", avg, event_name(counter));
> + else
> + fprintf(stderr, " %18.0f %-24s", avg, event_name(counter));

> - fprintf(stderr, " %14s %-24s\n",
> + fprintf(stderr, " %18s %-24s\n",
> "<not counted>", event_name(counter));

> - fprintf(stderr, " %14.9f seconds time elapsed",
> + fprintf(stderr, " %18.9f seconds time elapsed",

Why is the 'if (big_num)' applied to only one of the 4 sites, and the
other 3 blindly expanded from 14 to 18 characters?[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2010-05-31 21:17    [W:0.120 / U:0.124 seconds]
©2003-2014 Jasper Spaans. Advertise on this site