Replace the per-index peek loop with the item snapshot list; the loop walked the whole result set on every recomposition.