Making the tests faster
Currently 'make check' takes 23 minutes (at least) to run on my shiny new laptop. I'd like to make this faster because I spend a lot of time waiting for them to finish, but first here's an analysis of time spent now. Build the test guests: [only happens once, as long as you don't make clean]: tests/guests: 72 seconds Test gnulib: gnulib: 13 seconds Testing the API (about 12 minutes in total): tests/qemu: 13 seconds tests/c-api: 277 tests/protocol: 16 tests/disks: 90 tests/mountable: 20 tests/lvm: 10 tests/luks: 53 tests/md: 88 tests/selinux: 13 tests/ntfsclone: 10 tests/rsync: 10 tests/disk-labels: 4 tests/hotplug: 20 tests/nbd: 15 tests/syslinux: 10 tests/regressions: 62 [tests/btrfs skipped by local configuration] [tests/mount-local skipped by local configuration] Testing guestfish and bindings (about 6 minutes): fish: 70 seconds perl: 15 ocaml: 190 python: 5 ruby: 10 java: 5 haskell: 4 php: 7 erlang: 10 lua: 29 gobject: 10 Testing tools (about 5 minutes): align: 12 seconds cat: 40 df: 16 edit: 27 format: 17 inspector: 19 rescue: 4 resize: 29 sparsify: 69 sysprep: 29 tools: 17 fuse: 20 Test environment: libguestfs 1.21.33 libvirt 1.0.3 backend qemu 1.0.4 Fedora 19 Intel Core i7-3520M Hard disk (not SSD) Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-df lists disk usage of guests without needing to install any software inside the virtual machine. Supports Linux and Windows. http://people.redhat.com/~rjones/virt-df/
On Fri, Apr 26, 2013 at 11:52:03AM +0100, Richard W.M. Jones wrote:
Currently 'make check' takes 23 minutes (at least) to run on my shiny new laptop. I'd like to make this faster because I spend a lot of time waiting for them to finish, but first here's an analysis of time spent now.
How many times do you start + stop QEMU during a full test run, or more specifically what % of this 23 minutes could likely be attributed to the startup overhead of the appliance + qemu ? Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
On Fri, Apr 26, 2013 at 12:21:30PM +0100, Daniel P. Berrange wrote:
On Fri, Apr 26, 2013 at 11:52:03AM +0100, Richard W.M. Jones wrote:
Currently 'make check' takes 23 minutes (at least) to run on my shiny new laptop. I'd like to make this faster because I spend a lot of time waiting for them to finish, but first here's an analysis of time spent now.
How many times do you start + stop QEMU during a full test run, or more specifically what % of this 23 minutes could likely be attributed to the startup overhead of the appliance + qemu ?
About 180 times. See attached which is the result of changing qemu to be a wrapper that dumps out the arguments; some of those are obviously libvirt queries, but most seem to be regular runs. On my laptop, launching the libguestfs appliance takes under 3.5 seconds. So that would indicate that the overhead of libvirt+qemu in all of this is about 10 minutes, or under 50% of the running time. That's not to say that minimizing launching wouldn't be a good idea though. Especially when one is using TCG, the overhead would be substantially larger. On current Koji, build times [which also run 'make check', but in a VM], vary between 2 and 8 hours. Assuming that the processing time is the same as my local runs, that would place the launch overhead at 90% and upwards. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming blog: http://rwmj.wordpress.com Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
participants (2)
-
Daniel P. Berrange -
Richard W.M. Jones