On 8/6/19 10:14 AM, Markus Armbruster wrote: > Some of the generated qapi-types-MODULE.h are included all over the > place. Changing a QAPI type can trigger massive recompiling. Top > scorers recompile more than 1000 out of some 6600 objects (not > counting tests and objects that don't depend on qemu/osdep.h): > > 6300 qapi/qapi-builtin-types.h > 5700 qapi/qapi-types-run-state.h > 3900 qapi/qapi-types-common.h > 3300 qapi/qapi-types-sockets.h > 3000 qapi/qapi-types-misc.h > 3000 qapi/qapi-types-crypto.h > 3000 qapi/qapi-types-job.h > 3000 qapi/qapi-types-block-core.h > 2800 qapi/qapi-types-block.h > 1300 qapi/qapi-types-net.h > > Clean up headers to include generated QAPI headers only where needed. > Impact is negligible except for hw/qdev-properties.h. > > This header includes qapi/qapi-types-block.h and > qapi/qapi-types-misc.h. They are used only in expansions of property > definition macros such as DEFINE_PROP_BLOCKDEV_ON_ERROR() and > DEFINE_PROP_OFF_AUTO(). Moving their inclusion from > hw/qdev-properties.h to the users of these macros avoids pointless > recompiles. This is how other property definition macros, such as > DEFINE_PROP_NETDEV(), already work. > > Improves things for some of the top scorers: > > 3600 qapi/qapi-types-common.h > 2800 qapi/qapi-types-sockets.h > 900 qapi/qapi-types-misc.h > 2200 qapi/qapi-types-crypto.h > 2100 qapi/qapi-types-job.h > 2100 qapi/qapi-types-block-core.h > 270 qapi/qapi-types-block.h > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- Reviewed-by: Eric Blake <ebl...@redhat.com>
-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature