|
一応、再現手順も示しておきます。当方の CPU 環境は
・AMD Ryzen 9 5950X 16-Core Processor 3.40 GHz
となっています。
まず、拡張子 .test に対応する「ファイルタイプ別の設定」の「デザイン」の「保
存/読込」で、
以下に示す Hilight.hilight 定義ファイルを読み込みます。これには、動作が大変
重い強調表示と、
アウトライン解析のツリー定義が含まれています。
//----------------------------- Hilight.hilight ここから -------------------
--------------------
21,(?#lookbehind)(?<=(?:(?<=(?<=.*)(?:.*)*(?=.*))(?:(?<=.*)(?:.*)*(?=.*))*(?
=(?<=.*)(?:.*)*(?=.*)))*)a(?=(?:(?<=(?<=.*)(?:.*)*(?=.*))(?:(?<=.*)(?:.*)*(?
=.*))*(?=(?<=.*)(?:.*)*(?=.*)))*)
17,(?#lookbehind)(?<=(?:(?<=(?<=.*)(?:.*)*(?=.*))(?:(?<=.*)(?:.*)*(?=.*))*(?
=(?<=.*)(?:.*)*(?=.*)))*)b(?=(?:(?<=(?<=.*)(?:.*)*(?=.*))(?:(?<=.*)(?:.*)*(?
=.*))*(?=(?<=.*)(?:.*)*(?=.*)))*)
81,(?#lookbehind)(?<=(?:(?<=(?<=.*)(?:.*)*(?=.*))(?:(?<=.*)(?:.*)*(?=.*))*(?
=(?<=.*)(?:.*)*(?=.*)))*)c(?=(?:(?<=(?<=.*)(?:.*)*(?=.*))(?:(?<=.*)(?:.*)*(?
=.*))*(?=(?<=.*)(?:.*)*(?=.*)))*)
145,(?#lookbehind)(?<=(?:(?<=(?<=.*)(?:.*)*(?=.*))(?:(?<=.*)(?:.*)*(?=.*))*
(?=(?<=.*)(?:.*)*(?=.*)))*)d(?=(?:(?<=(?<=.*)(?:.*)*(?=.*))(?:(?<=.*)(?:.*)*
(?=.*))*(?=(?<=.*)(?:.*)*(?=.*)))*)
/<TreeWord>
/0000,0000,0000,00000001,40001752,"","a"
/<TreeWordEx>
/TreeWordExData:0
//----------------------------- Hilight.hilight ここまで -------------------
--------------------
次に、以下に示す Test.test ファイルを開きます。
//----------------------------- Test.test ここから -------------------------
--------------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
//----------------------------- Test.test ここまで -------------------------
--------------------
このファイルを開いた時点で、強調表示が適用されるまで約 6 秒掛かりましたが、
アウトライン解析の
枠に見出しが表示されるまでに更に追加で約 6 秒掛かってしまいました。両者がほ
ぼ同じ所要時間のため、
アウトライン解析の際に強調表示が「もう 1 度」評価されてしまっているのではな
いか、という疑いが
あります。
この Test.test の先頭の 1 行目に、以下の 1 行の文字列
xax
を追加すると、アウトライン解析の枠の内容更新に約 6 秒掛かりました。この追加
した行を削除しても、
やはり更新に約 6 秒掛かります。いずれも強調表示の適用とほぼ同じ所要時間です。
ところが、末尾の 33 行目に同じ 1 行の文字列
xax
を追加 / 削除すると、内容更新に掛かった時間は 1 秒足らずで、先頭への追加 /
削除のときよりも大幅に
時間が短縮されています。
このことから、ファイルの行を追加 / 削除した部分以下の全ての強調表示が無駄に
再評価されてしまって
いる可能性が示唆されています。
次に、検索ダイアログから文字列 a を「検索文字列を強調」を有効にして検索する
と、アウトライン解析の
枠の見出しが強調されるまで約 6 秒掛かります。
やはり強調表示の適用とほぼ同じ所要時間となっており、強調表示の無駄な再評価が
行われている気配が
感じ取られます。
|
|