沢山入力するような処理の話

今日気づいたこととか。
■ナローイングで処理範囲を限定
 色々処理して入力とかすると、どうやら、入力した文とかでリージョンの範囲をあふれてしまうらしくて、markの位置がずれてしまうのかなぁと思った。ナローイングしてpoint-maxとかをとったら動作が普通に戻ったので。
■ナローイングが上手くいかない話。
 多量の範囲をalignモドキで処理するときに重くなる理由を調べていたら気づいた。どうやら問題は2つあるらしいってことは分かった。一つはナローイングすることで、ほぼ解決することが分かった。これをしないとあふれ出て余計な所に何やら悪さをするときがあるようだ。もう一つは、変にナローイングするとポイントをsave-excursionとかで保持できない場合があるみたい。referenceに書いてあるようなのじゃないかと推測。
■止まったように見えるのを防ぐ。
 (do-events)を入れておくと処理が大きいときに応答不能状態っぽくなるのを防いでくれる様子。なので入れてみたら、確かにWindowとかの描画が止まることはなくなった。
■追記
 処理が重たいときに少し速度を遅くして動いているのが目に見えるようにしたほうが速く感じるのは何故だろうか。不思議。