[Libreoffice] Trying to diagnose base running extremely slowly

John Talbut jt at dpets.co.uk
Wed Oct 19 09:21:25 PDT 2011


On 19/10/11 16:32, Stephan Bergmann wrote:
> On 10/19/2011 05:07 PM, Michael Meeks wrote:
>> On Wed, 2011-10-19 at 16:34 +0200, Stephan Bergmann wrote:
>>>> (the number is not always 72) that is repeated more or less identically
>>>> some 12,000 times in the 7 minute run. Since each set appears to take
>>>> around .02 seconds that alone would account for some 4 minutes of
>>>> the run.
>>>
>>> 7321 times reading out /proc/self/map -- no idea why it does that, but
>>> that clearly ain't no good...
>>
>> Yep :-) If I remember rightly - the only moving part in this
>> side-to-side performance comparison that causes a substantial decrease
>> in performance is Java 7 vs 6 right ? The strace shows it poking
>> at /proc/self/map endlessly (something that is not done by any
>> LibreOffice code I can find off hand), which perhaps helps isolate the
>> problem rather better ?
>
> What the LibO hsqldb code does a lot is call JNI's
> Attach/DetachCurrentThread. Googling around,
> <http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6929067> "Stack
> guard pages should be removed when thread is detached" suggests that
> reading /proc/self/maps might have been added into
> Attach/DetachCurrentThread as part of a bug fix. That would explain things.
>
Or maybe it is to do with "Add code to unmap stack guard area when 
thread is detached." in the evaluation of that bug.  In the trace the 
end of read, close(), is always followed by munmap.


More information about the LibreOffice mailing list