After working with ESX and VBox, I realized that a tweak to how snapshot relationships are stored would speed things up from O(n^2) to O(n). The hash table must be kept for name lookup, but the speedup comes by tracking relationships with each snapshot rather than crawling the entire hash table rebuilding those relations for every operation that needs particular relations. Eric Blake (4): snapshot: framework for more efficient relation traversal snapshot: track qemu snapshot relations snapshot: take advantage of new relations snapshot: drop dead parameters src/conf/domain_conf.c | 266 +++++++++++++++++++++++++--------------------- src/conf/domain_conf.h | 22 ++-- src/libvirt_private.syms | 3 +- src/qemu/qemu_driver.c | 84 +++++++++++---- 4 files changed, 224 insertions(+), 151 deletions(-) -- 1.7.4.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list