[petsc-dev] slow "ar Scq" on cygwin

Satish Balay balay at mcs.anl.gov
Thu Jun 28 16:04:13 CDT 2012


On Thu, 28 Jun 2012, Chetan Jhurani wrote:

> Hi devs,
> 
> Is there a way to avoid running the archiver (ar)
> every time a petsc directory is compiled?
> 
> The reason I'm asking this is that when libpetsc.lib
> becomes large enough (say 100MB+, esp. for debug build),
> "ar Sqc" on cygwin takes very long in each directory.
> Depending on OS caching, very long can be 10 seconds per
> PETSc directory just to run ar.
> 
> It creates a new temp file from scratch, puts stuff from
> libpetsc.lib and new stuff in it and then renames the
> temp file.  As you can imagine, the compilation process is
> fast in the beginning but crawls by the end.  I've seen
> the same IO sequence on Linux (with Sqc flags to ar), but
> since cygwin IO is slower the effect is more clearly visible.
> Building within a ramdisk leads to 25% faster compilation
> but it was more of a curiosity.

'ar Scq' is a hack to speed up builds on Mac [as the previous default
'ar cr' was too slow on it]

I don't know if 'ar cr' is also slow on windows. But perhaps
it preferable to use '--with-ar='win32fe lib' - perhaps this is
faster. ['ar' is unuseable with 64bit windows compilers anyway]

Satish



More information about the petsc-dev mailing list