Skip to content
  • Anthony Liguori's avatar
    qom: aggressively optimize qom casting · 03587328
    Anthony Liguori authored
    
    
    This patch adds a small typename cache to ObjectClass.  This allows
    caching positive casts within each ObjectClass.  Benchmarking a
    PPC workload provided by Aurelien, this patch eliminates every
    single g_hash_table_lookup() happening during the benchmark (which
    was about 2 million per-second).
    
    With this patch applied, I get exactly the same performance (within
    the margin of error) as with --disable-qom-cast-debug.
    
    N.B. it's safe to cache typenames only from the _assert() macros
    because they are always called with string literals.
    
    Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
    03587328