Has the time come to get rid of the "delivering" of public headers?
bjoern.michaelsen at canonical.com
Wed Feb 22 16:22:59 PST 2012
On Wed, Feb 22, 2012 at 07:29:46PM +0000, Michael Meeks wrote:
> On Wed, 2012-02-22 at 18:26 +0200, Tor Lillqvist wrote:
> > Personally I take these claims about the horrible performance of
> > Windows (itself, not just Cygwin) doing this or that with a grain of
> > salt.
> Agreed :-) I think a chunk of this folk wisdom may be a horrible
> anachronism from the time when StarDivision's build system would build
> over the network, such that every stat of a file in a directory was a
> network latency away, instead of some (hopefully fastish) local
> file-system lookup.
It is neither an anachronism or has something to do with building over the
network. Nobody sane did that on Windows anyway, some did that on *nix via NFS
in low-level modules (like sal) where indeed it did not hurt too much.
But for things like sw or sc, the lack of encapsulation and the need to include
75% of all the public headers in each and every compile (e.g. via
sw/inc/doc.hxx) and reparse those are a real killer. Other projects might not
suffer that bad from it because they actually took care not to include half the
world, because it seemed it doesnt matter anymore anyway. PCH mitigated the
issue quite a bit, but without it you had a very measureable huge IO-latency for
just opening the file (reading, once open was fine and quick) -- which really
hurts you for lots and lots of small header-files.
And no, this is not some urban myth, this is from rather recent benchmarking
(from inside cygwin or outside) on something like a dedicated Sun Fire X4470 --
not exactly outdated hardware, esp. if you compare it with what the average
LibreOffice hacker uses currently.
More information about the LibreOffice