Quick followup. I was able to instrument the single function `set_iterator_to_next' to track total call count and distribution of call times of this core function. Since the instrumentation slowed the test down so much, I profiled moving (forward-char) by just 3 chars with redisplay in a partially visible top line, using the slow setting of make-cursor-line-fully-visible=t. The total call count per character moved in the slow case is enormous: >800K.