Il 20/03/2014 11:52, Laurent Desnogues ha scritto:
Hello,
while looking at some perf results, I saw object_dynamic_cast_assert
taking more than 3% of the run time.
After some digging I found out that this time can be cut by passing
--disable-qom-cast-debug to configure. This was added by Paolo:
commit 3556c233d931ad5ffa46a35cb25cfc057732ebb8
Author: Paolo Bonzini <pbonz...@redhat.com>
Date: Fri May 10 14:16:40 2013 +0200
qom: allow turning cast debugging off
Cast debugging can have a substantial cost (20% or more). Instead of adding
special-cased "fast casts" in the hot paths, we can just disable it in
releases. The tracing facilities we just added make it easier to analyze
those problems that cast debugging would reveal.
I find it odd that the default is to have this debug flag on by
default while the other such debug options are off. Wouldn't it make
more sense to have it off by default and let devs turn it on?
I agree, but Anthony (and Andreas?) did not.
Which path is calling object_dynamic_cast_assert so much? It was agreed
to just use C casts in hot code.
Paolo