[Libreoffice] slooow sc / unoapi tests ...

Michael Meeks michael.meeks at suse.com
Wed Nov 30 08:13:04 PST 2011


	I was digging into the new subsequenttests in calc (thanks Stephan),
and wondering why they are -so- infernally slow; during the slowness we
get 2% CPU utilisation - where I'd expect a 50/50 split Java &
soffice.bin - actually the 46/44% split (I would suggest) points to IPC
being the majority cost of the tests but I digress.

	Anyhow - during the slowest bit I get (from)

tail -f core/workdir/unxlngi6.pro/JunitTest/sc_unoapi/done.log
LOG> Trying to select child with index 333
LOG> selected child count: 334
LOG> valid child - true
LOG> Trying to select child with index 334
LOG> selected child count: 335
LOG> valid child - true
...
	And ~two of these each second. Digging into the strace -ttt I get
blocks of these calls like this:

488   1322668708.448523 recv(18, "\360\3\26\0\33\0\0003\0\377\377\0\0\1
\362", 15, 0) = 15
... idling around wasting time noisily ...
488   1322668708.954310 recv(18, "\1", 1, 0) = 1

	Which looks like the same 500ms sleep we see in the log.

	A quick git grep for 'sleep' suggests that this is not happening inside
sc/ (at least not with System.sleep() - unless this is ViewForwarder).
It looks like we're using:

qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection.java:
log.print("Trying to select child with index " + i + ": ");

	The:

private void shortWait() {
        try {
            Thread.sleep(500);
        } catch (InterruptedException ex) {
        }
}

	Looks like a good culprit in that file.

	HTH,

		Michael

-- 
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list