2024年11月18日 3:40 pm #32081
yasuji
参加者
江村様
いつもお世話になっております。
yasujiです。
ご回答ありがとございます。
(Q1)
ご指摘の通りです。(Q2)
その通りです。
了解しました。
(Q3)
500行ごとに進捗を更新するように最適化しています。不具合ではありません。
それでは、「根拠は、[スレッド数(N)]を 2 に設定して、上記同様の検索を実行すると、「000」または「500」の表示に固定されずに表示されるため。」と記載しましたが、[スレッド数(N)]が2の場合は、 下3桁の数値が「062」や「489」などのように表示されるのはなぜでしょうか?ご説明とこの場合の表示方法が一致しません。
(Q4)
検索用スレッド数が[スレッド数(N)]が1の場合、内部ではその値に1を足して2スレッドで検索しているのではないかというご質問ですが、これは考えられません。
そうすると、EmEditorは、Unicode未対応のBoost.Regexの正規検索エンジンをどのようにUnicode対応させてNotepad++よりも高速に処理できるのでしょうか?
私の考えだと、(1)Boost.Regexのソースコードに改良加えてUnicode対応している、(2)Boost.RegexとICUの代わりを独自実装してUnicode対応しているのいずれかをしているのかと思います。
長年高速処理を追求し続けて改良を加えられているので、検索エンジンについても説明いただければ、大きなセールスポイントになると思います。
よろしくお願いします。