if not atom.blocks and caching_iter(p for r, c in resolver.livefs_dbs.iteritems() for p in resolver.get_db_match(r, c, atom)): vs. if not atom.blocks and caching_iter(p for r, c in resolver.livefs_dbs.iteritems() for p in resolver.get_db_match(r, c, atom)):