Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi Norbert,

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

On Mon, Apr 4, 2011 at 10:30 AM, Bjoern Michaelsen
<bjoern.michaelsen@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,

Bjoern

-- 
https://launchpad.net/~bjoern-michaelsen

Attachment: signature.asc
Description: PGP signature


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.