Most of the time there are going to be several additional forks from within the predicate, so the speedup may not be that large even on Cygwin.

On the other hand, many of my predicate scripts are extremely fork-happy, for example spawning multiple grep processes. Using Perl's native regexes would be better.

I'm currently doing some work on Csmith's drivers. Perhaps I should get this all working on Windows...

John



On 6/21/12 9:33 AM, Eric Eide wrote:
        Kirk>  It's dangerous to admit to being a Windows/Cygwin expert, and I
        Kirk>  don't know that I qualify, but here is a possibility: IIRC,
        Kirk>  C-Reduce forks a bunch to do its work.  fork() isn't directly
        Kirk>  supported by Windows, so Cygwin has to fake it and it is an
        Kirk>  expensive operation.  My guess is that this is where the
        Kirk>  performance hit is coming from.

FWIW, this lends support to Konstantin Tokarev's idea that C-Reduce should
support Perl-based predicates in addition to shell-based (fork-fork-fork) ones.

If C-Reduce on Windows is going to be slow because of Cygwin's fork, and we
care about this, we should perhaps avoid either fork or Cygwin altogether.

Eric.

Reply via email to