Disabling CONFIG_QOM_CAST_DEBUG in Fedora qemu builds
Richard W.M. Jones
rjones at redhat.com
Fri Oct 6 18:36:06 UTC 2023
[This is a fairly trivial configuration change, but let's discuss
before I go about making a pull request for it ...]
QEmu in Fedora, all branches as far as I can tell, enables
CONFIG_QOM_CAST_DEBUG:
qom_cast_debug : true
This adds 6.6% overhead to TCG runs, directly making emulated code
slower.
Below is a flamegraph from qemu 8.1.1, running a 16 core RISC-V guest
which is doing a bunch of parallel compilation. If you hit [Ctrl]+F
and type in "object_dynamic_cast_assert" you'll see the 6.6% figure:
http://oirase.annexia.org/tmp/qemu-riscv.svg
I patched my copy of qemu to add ../configure --disable-qom-cast-debug
flag. This reduced the time taken to run two test compiles inside the
guest from [465, 467] seconds down to [445, 441] seconds, which is a
saving of about 5%.
Or ... maybe someone knows a way to disable the debugging code when
called from particular call sites?
Rich.
--
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
More information about the virt-tools-list
mailing list