Hi there,
Weelll ... nicer structures aside; having put a breakpoint in stat64
( catch syscall stat64 FWIW ;-) - I discovered that the vast majority of
our stats were not from 'stat' at all (which clearly has been optimised
heavily) - but instead from 'glob':
read.c (parse_file_seq) calls glob on all dependencies.
For each of those it does a stat ;-)
make -sr before:
real 0m5.795s
user 0m3.513s
sys 0m2.274s
make -sr passing 'PARSEFS_NOGLOB' to the beastie[1]
real 0m2.496s
user 0m2.342s
sys 0m0.150s
Which essentially killed the system component of performance, and saved
a truck-load of system calls ;-)
I'll do some more poking around to make it an up-stream-able, robust
patch.
ATB,
Michael.
[1] - un-conditionally breaking globbing for sure but - why not ? :-)
--
michael.meeks@novell.com <><, Pseudo Engineer, itinerant idiot
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.