Re: [PATCH v3] coccicheck: process every source file at once
- Date: Fri, 5 Oct 2018 21:54:13 +0200
- From: SZEDER Gábor <szeder.dev@xxxxxxxxx>
- Subject: Re: [PATCH v3] coccicheck: process every source file at once
On Fri, Oct 05, 2018 at 03:02:16PM -0400, Jeff King wrote:
> On Fri, Oct 05, 2018 at 08:39:04PM +0200, SZEDER Gábor wrote:
> > > It should still be a net win, since the total CPU seems to drop by a
> > > factor of 3-4.
> > Well, that's true when you have unlimited resources... :) or it's
> > true even then, when I have just enough resources, but not much
> > contention. After all, Coccinelle doesn't have to parse the same
> > header files over and over again. However, on Travis CI, where who
> > knows how many other build jobs are running next to our static
> > analysis, it doesn't seem to be the case.
> > On current master with an additional 'time' in front:
> > time make --jobs=2 coccicheck
> > <...>
> > 695.70user 50.27system 6:27.88elapsed 192%CPU (0avgtext+0avgdata 91448maxresident)k
> > 5976inputs+2536outputs (42major+18411888minor)pagefaults 0swaps
> > https://travis-ci.org/szeder/git/jobs/437733874#L574
> > With this patch, but without -j2 to fit into 3GB:
> > 960.50user 22.59system 16:23.74elapsed 99%CPU (0avgtext+0avgdata 1606156maxresident)k
> > 5976inputs+1320outputs (26major+4548440minor)pagefaults 0swaps
> > https://travis-ci.org/szeder/git/jobs/437734003#L575
> > Note that both the runtime and the CPU time increased. (and RSS, of
> > course)
> I'm not sure what to make of those results. Was the jump in CPU _caused_
> by the patch, or does it independently fluctuate based on other things
> happening on the Travis servers?
> I.e., in the second run, do we know that the time would not have
> actually been worse with the first patch?
Runtimes tend to fluctuate quite a bit more on Travis CI compared to
my machine, but not this much, and it seems to be consistent so far.
After scripting/querying the Travis CI API a bit, I found that from
the last 100 static analysis build jobs 78 did actully run 'make
coccicheck' , avaraging 470s for the whole build job, with only 4
build job exceeding the 10min mark.
I had maybe 6-8 build jobs running this patch over the last 2-3 days,
I think all of them were over 15min. (I restarted some of them, so I
don't have separate logs for all of them, hence the uncertainty.)
1 - There are a couple of canceled build jobs, and we skip the build
job of branches when they happen to match a tags.