Slow UITests

Stephan Bergmann sbergman at redhat.com
Wed Jun 27 15:37:29 UTC 2018


On 29/05/18 10:02, Stephan Bergmann wrote:
> I see that some of the UITests (executed at least during `make check`) 
> take rather long, one taking over 20 min for me, see below for details.
> 
> I'm not sure whether something fundamental could be improved to cut down 
> on processing time (e.g., on a cursory glance, it looks to me that a 
> single UITest sequentially spawns multiple soffice processes?), or 
> whether the cure would be to split the longer-running UITests into 
> smaller ones each doing fewer sub-tests so that multiple of those 
> smaller tests will run in parallel (similar to how other CppunitTests or 
> JunitTests have been split in the past).
> 
> But I would ask the authors/maintainers of those UITests to please do 
> something appropriate to help reduce overall build time.
> 
> Edited output of elapsed wall-clock time for each of the UITests (which 
> all succeeded) for me (running `for i in */UITest_*.mk; do (cd 
> "$(dirname "$i")" && (time make -rs "$(basename "$i" .mk)"; echo $?)); 
> done`):
> 
>     0m13.038s hide_cols
>     0m13.080s range_name
>     0m14.920s search_replace
>     0m16.144s cui_dialogs
>     0m20.515s math_demo
>     0m25.939s conditional_format
>     0m26.513s writerperfect_epubexport
>     1m00.827s manual_tests
>     1m45.238s impress_demo
>     2m00.418s autofilter
>     2m05.138s calc_demo
>     3m31.141s demo_ui
>     5m09.131s writer_demo
>     9m37.676s writer_tests
>    22m28.748s calc_tests

With 
<https://cgit.freedesktop.org/libreoffice/core/commit/?id=94dcb3b1a5b38b7b35cb75b068836d78134a6b7b> 
"UITest_calc_tests: split this into 4 parts", the situation has improved 
somewhat, but there's still a bunch of rather long-running UITests 
(edited output of the same shell command as above):

0m10.919s solver
0m12.088s hide_cols
0m13.009s range_name
0m13.520s cui_dialogs
0m13.972s search_replace
0m20.983s math_demo
0m25.895s conditional_format
0m26.668s writerperfect_epubexport
0m35.435s goalSeek
0m52.006s manual_tests
1m32.728s impress_demo
1m48.438s calc_demo
1m58.510s autofilter
2m15.409s calc_tests3
2m34.083s statistics
3m14.356s demo_ui
3m40.630s calc_tests4
5m38.713s writer_demo
5m7.610s calc_tests2
9m37.898s calc_tests
9m51.008s writer_tests

And at least for my `make -O -j12` builds the long-running tests tend to 
show up in the tail of the make output (i.e., they don't get "hidden" in 
the full-parallelism phase but rather stick out at the end when only a 
few cores are still busy completing any remaining long-running tasks):

[...]
[SCK] svtools
[SCK] svx
[SCK] sw
[SCK] toolkit
[SCK] ucb
[SCK] unotools
[SCK] unoxml
[SCK] xmloff
[UIT] cui
[CHK] libreoffice
[SLC] libreoffice
[SCK] libreoffice
[UIT] calc_demo
[UIT] writerperfect_epubexport
[UIT] writerperfect
[UIT] impress_demo
[UIT] manual_tests
[UIT] statistics
[UIT] calc_tests4
[UIT] demo_ui
[UIT] calc_tests2
[UIT] writer_demo
[UIT] uitest
[UIT] calc_tests
[UIT] sc
[UIT] writer_tests
[UIT] sw
[UIT] libreoffice


More information about the LibreOffice mailing list