[Libreoffice] a faster gnumake ? ...

Bjoern Michaelsen bjoern.michaelsen at canonical.com
Mon Apr 4 13:02:05 PDT 2011

Hi Norbert,

On Mon, 4 Apr 2011 11:33:40 -0500
Norbert Thiebaud <nthiebaud at gmail.com>

> On Mon, Apr 4, 2011 at 10:30 AM, Bjoern Michaelsen
> <bjoern.michaelsen at canonical.com> wrote:
> > Hi Michael, Hi all,
> >
> > It seems that the dep files generated by gcc have duplicates. This
> > could:
> > a) be fixed in gcc itself.
> > b) be fixed by sorting out duplicates when generating the dep file.
> > This could be done in the solenv/gbuild/processdeps.awk(*) script
> > and would then likely result in a 100% speedup.
> Not quite. Sure, make {void} will be faster, but at a the cost of
> running a script for each dep generation, that include an alphanumeric
> sort or a sometime quite large number of entry, and almost always
> these entry will have a very high correlation up to all but the last
> few chars
> iow a likely poor performing sort.

Still: sorting and uniqing <1000 strings pales compared to the
parsing and compiling of a huge amount of C++ source code (one file per
string above). It will even pale compared to preprocessing the files
(which is what ccache does). Even when using gawk hashtables for that.

> I'm concern that the remedy may be worse that the disease in this
> case... but we could certainly try that on windows since they already
> taking the medicine and suffering most of the side-effect already.

On windows we dont have _that_ problem as we are still using our own
makedepend, were we can make sure that no dupes are generated directly
in C. Makedepend is what makes Windows so awefully slow, BTW. If cl.exe
would produce halfways sane output using -showIncludes, you could use
that and be twice as fast.

Best Regards,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110404/44bc80a3/attachment.pgp>

More information about the LibreOffice mailing list