Re: [PATCH 4/4] coccicheck: add indexing enhancement options

From: Luis R. Rodriguez
Date: Fri Jun 10 2016 - 17:18:26 EST


On Fri, Jun 10, 2016 at 11:02:38PM +0200, Julia Lawall wrote:
>
>
> On Fri, 10 Jun 2016, Luis R. Rodriguez wrote:
>
> > Enable indexing optimizations heuristics. Coccinelle has
> > support to make use of its own enhanced "grep" mechanisms
> > instead of using regular grep for searching code 'coccigrep',
> > in practice though this seems to not perform better than
> > regular grep however its expected to help with some use cases
> > so we use that if you have no other indexing options in place
> > available.
> >
> > Since git has its own index, support for using 'git grep' has been
> > added to Coccinelle, that should on average perform better than
> > using the internal cocci grep, and regular grep. Lastly, Coccinelle
> > has had support for glimpseindex for a long while, however the
> > tool was previously closed source, its now open sourced, and
> > provides the best performance, so support that if we can detect
> > you have a glimpse index.
> >
> > These tests have been run on an 8 core system:
> >
> > Before:
> >
> > $ export COCCI=scripts/coccinelle/free/kfree.cocci
> > $ time make coccicheck MODE=report
> >
> > Before this patch with no indexing or anything:
> >
> > real 16m22.435s
> > user 128m30.060s
> > sys 0m2.712s
> >
> > Using coccigrep (after this patch if you have no .git):
> >
> > real 16m27.650s
> > user 128m47.904s
> > sys 0m2.176s
> >
> > If you have .git and therefore use gitgrep:
> >
> > real 16m21.220s
> > user 129m30.940s
> > sys 0m2.060s
> >
> > And if you have a .glimpse_index:
> >
> > real 16m14.794s
> > user 128m42.356s
> > sys 0m1.880s
>
> I don't see any convincing differences in these times.
>
> I believe that Coccinelle's internal grep is always used, even with no
> option.

Ah that would explain it. This uses coccinelle 1.0.5, is the default
there to use --use-coccigrep if no other index is specified ?

> I'm puzzled why glimpse gives no benefit.

Well, slightly better.

Luis