On Sat, Nov 06, 2021 at 01:33:29AM +0200, Nir Soffer wrote: > On Sat, Nov 6, 2021 at 1:23 AM Nir Soffer <[email protected]> wrote: > > > > The generic vector reallocs on every append. Add benchmarks to measure > > the cost with uint32 vector (used for copying extents) and the effect of > > reserving space upfront. > > > > The tests show that realloc is pretty efficient, but calling reserve > > before the appends speeds the appends up significantly. > > > > NBDKIT_BENCH=1 ./test-vector > > bench_reserve: 1000000 appends in 0.004503 s > > bench_append: 1000000 appends in 0.014986 s > > > > The new benchmarks do not run by default to avoid trouble in CI on > > overloaded machines or under qemu emulation. > > > > A new target added to run all benchmaks: > > > > make bench > > > > Ported from libnbd: > > - https://listman.redhat.com/archives/libguestfs/2021-October/msg00304.html > > - https://listman.redhat.com/archives/libguestfs/2021-October/msg00305.html > > --- > > Makefile.am | 5 +++ > > README | 7 ++++ > > common/utils/Makefile.am | 3 ++ > > common/utils/bench.h | 72 ++++++++++++++++++++++++++++++++++++++ > > I forgot to add this file to the sources, so it is not included in the > tarball. > Wil fix this before pusing. > > I think including maintainer-check-extra-dist in the check target wil avoid > such errors for very little cost:
This rule only works directly after running "make dist". Rich. > $ time make dist maintainer-check-extra-dist >/dev/null > make: *** [Makefile:1173: maintainer-check-extra-dist] Error 1 > > real 0m3.767s > user 0m2.655s > sys 0m1.644s -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW _______________________________________________ Libguestfs mailing list [email protected] https://listman.redhat.com/mailman/listinfo/libguestfs
