Thanks for sharing the data and the test scripts!

The inputs we usually use with creduce are 2-4MB (basically what clang
writes when it hits an assert -- it's a single cpp file with all .h files
inlined via -frewrite-includes -E), so orders of magnitude larger. I'd
expect the speedup to be much larger. If so, I suppose I could run
halfempty first and then creduce second.

Thanks to your reply and went and looked at the default value for --n, and
apparently it's 4 (
https://github.com/csmith-project/creduce/blob/a1aa2a3601addc4d8d22c203c1ddecdbdde3df6e/creduce/creduce_utils.pm#L151),
which means I'm using only 10% of my cores when running creduce. I wasn't
aware of that, so thanks for making me look it up. Maybe just passing --n
48 will make things much faster already.

I'll do a comparison of my last bisect and will report numbers.

On Fri, Jun 14, 2019 at 2:38 AM Vegard Nossum <vegard.nos...@gmail.com>
wrote:

> I did a creduce vs. halfempty benchmark at some point. These were my
> results:
>
> """
> Same input (739 bytes C++), ~same test script, 1 vs 32 threads (on 32
> cores).
>
> Halfempty speedup = ~2.7 (-63%),
> creduce speedup = ~8.7 (-89%).
>
> at 32 cores the two programs were within 8 seconds of each other (!),
> whereas on 1 core, halfempty took 7m27 and creduce took 22m57
>
> The final file sizes were:
>
> 460 bytes for halfempty,
> 317 for c-reduce
> """
>
> File dump from back then at:
> https://gist.github.com/vegard/e79b96cefffbfb753da17c4646132fab
>
>
> Vegard
>
> On Thu, 13 Jun 2019 at 22:57, Nico Weber <tha...@chromium.org> wrote:
> >
> > Hi,
> >
> > creduce often takes more than an hour to run, with most cores being
> idle. https://github.com/googleprojectzero/halfempty is an approach to
> doing delta debugging in parallel. Could that approach be implemented in
> creduce as well?
> >
> > Thanks,
> > Nico
>

Reply via email to