On Tue, Jul 07, 2020 at 06:45:57AM +0200, Thomas Huth wrote: > On 27/05/2020 10.47, Markus Armbruster wrote: > > "info qom-tree" prints children in unstable order. This is a pain > > when diffing output for different versions to find change. Print it > > sorted. > > > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > > --- > > qom/qom-hmp-cmds.c | 24 ++++++++++++++++-------- > > 1 file changed, 16 insertions(+), 8 deletions(-) > > Hi Markus, > > this patch causes a slow down of the qtests which becomes quite massive > when e.g. using the ppc64 and thourough testing. When I'm running > > QTEST_QEMU_BINARY="ppc64-softmmu/qemu-system-ppc64" time \ > ./tests/qtest/device-introspect-test -m slow | tail -n 10 > > the test runs for ca. 6m40s here before the patch got applied, and for > mor than 20 minutes after the patch got applied! > > This causes our gitlab CI to constantly fail since the patch got merged, > since the testing time now exceeds the 1h time limit: > > https://gitlab.com/qemu-project/qemu/-/pipelines/156767175 > > Sure, we can work around that problem in the CI (Alex has already a > patch queued), but still, is there something you could do about this > massive slowdown?
I think the answer is to stop using q_queue_insert_sorted(). The impl of it looks like it is quadratic in complexity. Instead store the objects in a plain array and then use qsort() at the end. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|