Re: [PATCH] perf inject: Flush ordered events on FINISHED_ROUND

From: namhyung
Date: Mon Oct 05 2020 - 22:40:03 EST


> > On Fri, Oct 02, 2020 at 10:03:17PM +0900, Namhyung Kim wrote:
> > > Below measures time and memory usage during the perf inject and
> > > report using ~190MB data file.
> > >
> > > Before:
> > > perf inject: 11.09 s, 382148 KB
> > > perf report: 8.05 s, 397440 KB
> > >
> > > After:
> > > perf inject: 16.24 s, 83376 KB
> > > perf report: 7.96 s, 216184 KB
> > >
> > > As you can see, it used 2x memory of the input size. I guess it's
> > > because it needs to keep the copy for the whole input. But I don't
> > > understand why processing time of perf inject increased..

Measuring it with time shows:

before after
real 11.309s 17.040s
user 8.084s 13.940s
sys 6.535s 6.732s

So it's user space to make the difference. I've run perf record on
both (with cycles:U) and the dominant function is same: queue_event.
(46.98% vs 65.87%)

It seems the flushing the queue makes more overhead on sorting.

Thanks
Namhyung