全角空白を記号で表示No.30759
yamasan さん 12/01/18 10:31
 
こんにちは。よろしくお願いします。

windows 7 x64で、秀丸を使っています。
昨日、遅ればせながら、Ver8.11(hm811_x64_signed.exe)に、
アップバージョンしました。

それで、気がついたのですが、
大量にスペース(半角)を含むファイルを開く時に、
固まるというか、もの凄く動作が遅くなります。

詳細を調査みたいなことで、
「全角半角空白の強調表示に時間が掛かっている」
みたいな結果が出ました。

それで、ファイル別の設定から、
□全角空白を記号で表示
の箇所のチェックを外すと、問題なくファイルを開けるようになりました。

前バージョン(Ver8.10)の時は、この様な事は起こらなかったのですが、
皆様は、如何でしょう?


[ ]
RE:30759 全角空白を記号で表示No.30760
秀まるお2 さん 12/01/18 12:07
 
 メッセージの内容としては、

   時間がかかっていると思われる場所
   種類 : 全角/半角空白の強調

 って風になっていたんだと思います。

 全角空白を記号で表示するオプションをOFFにして直ったようでしたら、たし
かに全角空白が多くて、これの強調表示の計算に時間がかかってたってことにな
るんだと思いますが、V8.10からV8.11にかけての修正で、この辺何か手が入って
いるかというと、入ってないように思います。(ソースコード見直した限りは)

 全角/半角空白の強調の他に、例えば検索でヒットした文字列を強調するのも
重なると、それによって結果として全角/半角空白の記号表示も遅くなるっての
があるのかなぁという気はするのですが、秀丸エディタのバージョンは一応関係
無いような気がします。




 根本的な問題として、この全角/半角空白の記号表示の処理が、記号が大量に
あった場合に遅いのがいけないのかと思います。もともとここは僕の作った処理
なのですけども。

 なんとか高速化出来ないか、いまいちど考え直してみます。

[ ]
RE:30760 問題ファイルの説明です。No.30761
yamasan さん 12/01/18 13:27
 
こんにちは。ありがとうございます。

>   時間がかかっていると思われる場所
>   種類 : 全角/半角空白の強調

はい、そうでした。


> 全角空白を記号で表示するオプションをOFFにして直ったようでしたら、たし
>かに全角空白が多くて、これの強調表示の計算に時間がかかってたってことにな
>るんだと思いますが、V8.10からV8.11にかけての修正で、この辺何か手が入って
>いるかというと、入ってないように思います。(ソースコード見直した限りは)

私の記憶に間違いが無ければ、
8.10を削除せずに、上書きで8.11にアップしました。
そして、設定は弄らずに、同じように行ったのに、何故、
動作が極端に重たくなったんだろう?
と、正直、疑問でしたので、解決したくて、お尋ねしました。

問題のファイルですが、
昨日、マクロ会議室で質問したような内容のファイルでして、
半角全角空白の数を、改行を挿入後、置換して調べました。

4.87MB(5,107,200バイト、半角空白:3,623,640個、全角空白:22,800個)

のファイルでして、改行なし状態で開こうとすると、ほぼ固まります。
というか、何分も待てないので強制終了しています。

又、改行を挿入後のファイルは開くことが出来ます。

ですので、マクロ会議室でお教え頂いたところの
「秀丸エディタは1行の長さが極端に長いと全体的に動作が重くなる」
に、当てはまっているようです。
ですが、Ver8.10の時は、問題なく開けていた記憶があります。

8.10は、手元になくて、8.11を削除後、hm711_x64_signed.exeを実行し、
Ver7.11にしてみましたところ、開くことが出来ました。
そして、再度削除し、8.11にすると、
上記ファイルを開こうとすると、殆ど固まってしまいました。

何か、設定変更で治るとかであれば、お教えくださいませ。

[ ]
RE:30761 私の勘違いでした。No.30762
yamasan さん 12/01/18 13:41
 
新バージョンのせいではなかったです。スイマセン。<(_ _)>
以前からそういう仕様だったようです。ご免なさい。

もう一回、私のpcで、
削除後に、hm711_x64_signed.exe に戻してみました。

開けたのは、設定が、
□全角空白を記号で表示
のチェックが入っていなかったからでした。ご免なさい。


8.11に戻した際は、hidemaruの設定内容を復元したから。でした。

●全角空白表示する設定で、
●1行の長さが極端に長い
この二つの条件にて、起こる現象のようです。
ご免なさい。

説明が拙いので、益々、分かりにくいと思いますが、
お騒がせしました。スイマセン。
ですので、8.11になったからではないです。

スイマセンでした。勘違いです。本当にご免なさい。

[ ]
RE:30761 問題ファイルの説明です。No.30763
秀まるお2 さん 12/01/18 13:53
 
 この前のマクロ会議室で教えてもらったデータを貼り付けしまくって1行だけ
で5メガバイト以上の状態にしてテストしてみたんですが、こちらでは一応、そ
れなりの速度で開くようでした。全角空白を記号表示ONでも大丈夫そうです。

 ただ、カーソル移動すると死ぬほど遅いですけども…。

 マシンは、Pentium Dual Core 2.8GHzで、Windows7 64bitです。V8.11の32bit
版と64bit版のどっちでも大丈夫そうな気がします。


 たぶん何かの設定による物だと思うので、すみませんが、秀丸エディタの設定
ファイルを送って欲しいです。それで再現出来ると思いますので是非ともご協力
お願いします。

 やり方は、

 1.秀丸エディタのメニューから「その他・設定内容の保存/復元..」
   を実行して、「設定内容をファイルに保存する」として「次へ>>」する。

 2.適当なファイル名を指定して保存する。

    このファイルを送っていただいてもいいですが、それだと個人情報
    (ファイル名の履歴など)が入ってしまうので、

 3.「設定・動作環境...」を実行して、「ファイル・ヒストリ」ページの
   中にある「ファイル/フォルダヒストリの消去...」を押す。

 4.その状態でもう一回「設定内容の保存/復元...」で設定内容を保存する。
   (先ほど保存したのとは別のファイル名で)

 5.「4」で保存したファイルを僕に送っていただく。

   送り先は、"maruo@mitene.or.jp"でお願いします。

 6.ファイル/フォルダの履歴を復元するために、今度は「設定内容の保存
   /復元...」の「設定内容をファイルから復元する」を選択して、「2」
   の所で保存した方の設定ファイルを指定する。

 です。これでファイル/フォルダ履歴も復元されて、設定内容も僕に送信され
ます。


 それと、問題のファイルの拡張子というか、それの「ファイルタイプ別の設
定」での設定名も教えて欲しいです。それでたしかに再現出来ると思います。

 よろしくお願いします。

[ ]
RE:30762 私の勘違いでした。No.30764
秀まるお2 さん 12/01/18 13:56
 
 こちらでテストした限りは、全角空白を記号で表示する設定でも一応それなり
の速度で開くようなので、やはり何か設定が関係してるかもしれません。

 もしよかったら設定ファイルの送信だけお願いしたいです。

[ ]
RE:30764 私の勘違いでした。No.30765
秀まるお2 さん 12/01/18 16:57
 
 いろいろテストしたら、全角空白の直前に何かの全角文字(空白以外)がある
と、そこの部分の計算にやたら時間がかかることが分かりました。

 それと、カーソル位置表示にも極端に時間がかかってしまってて、カーソル移
動でハングアップしたかのような状態になってしまってるようです。

 その辺、次のV8.13βの方で改良させていただきます。

[ ]
RE:30763 ありがとうございますNo.30772
yamasan さん 12/01/22 14:56
 
秀まるお2 さん、こんにちは。いつもありがとうございます。
ご苦労様でございます。お世話になります。

> ただ、カーソル移動すると死ぬほど遅いですけども…。
>
> マシンは、Pentium Dual Core 2.8GHzで、Windows7 64bitです。V8.11の32bit
>版と64bit版のどっちでも大丈夫そうな気がします。

分かりました。詳細なご説明をありがとうございます。
CPUは私の方が、若干新しいのかな?その程度ですね。
よく分かりました。

> たぶん何かの設定による物だと思うので、すみませんが、秀丸エディタの設定
>ファイルを送って欲しいです。それで再現出来ると思いますので是非ともご協力
>お願いします。

先ほど、送信しました。


> それと、問題のファイルの拡張子というか、それの「ファイルタイプ別の設
>定」での設定名も教えて欲しいです。それでたしかに再現出来ると思います。

メールに書きましたが、拡張子なしの半角英数字4文字です。
4バイトのファイル名と言うことになっております。ありがとうございました。

[ ]
RE:30772 ありがとうございますNo.30773
秀まるお2 さん 12/01/22 20:36
 
 送っていただいた設定ファイルでテストしたら、たしかにすごく遅かったんで
すが、1つ遅い原因となる設定がありました。

 「その他・動作環境...」の「パフォーマンス」の中の「詳細...」の中にある、
「メモリを使用する最大サイズ」ってのがあって、それのサイズが非常に小さい
のでだいぶ遅くなってました。

 1行の長さが非常に長いとその1行全体をメモリ上に置いていろんな計算をす
る必要があるので、ここのサイズは1行のサイズよりも大きいのが理想です。な
ので、ここは思い切って128Mバイトくらいを指定していただくと、かなり速くな
ります。

 今テストしたら、見違えるように速くなりました。

 あとは、半角空白を記号で表示するオプションもOFFにしていただくとだいぶ
速くなります。

 半角空白/全角空白の記号表示は、将来的には方式変更(描画のタイミングで
計算する等)も考えようと思います。

[ ]
RE:30773 ありがとうございますNo.30774
yamasan さん 12/01/23 08:00
 
おはようございます。お世話になっております。
ありがとうございます。
結局、私の開こうとしているファイルの問題かも知れません。
申し訳ございませんです。

> 1行の長さが非常に長いとその1行全体をメモリ上に置いていろんな計算をす
>る必要があるので、ここのサイズは1行のサイズよりも大きいのが理想です。な
>ので、ここは思い切って128Mバイトくらいを指定していただくと、かなり速くな
>ります。

お教えのように、メモリを128Mにしました。
開こうとすると、やはり、1〜2分かかります。そして、
「強調表示を一時的にキャンセル・・・」というので、
待つことやはり、1分以上掛かります。

恐縮ですが、質問前に、128Mどころか、詳細にて、
1280MB(1.28GB)で行っておりましたので、
私の開こうとしているサンプルファイルの問題だと思います。
結構、全角文字(それも漢字です)が多いせいかもしれません。
氏名の姓と名の区切りが全角空白になっている例が多いせいかもしれないです。
スイマセン。


> あとは、半角空白を記号で表示するオプションもOFFにしていただくとだいぶ
>速くなります。

分かりました。ありがとうございます。
半角空白や全角空白の表示設定を
大きいサイズのファイルでは、開く前に、気をつけて、確認する習慣を身につけるよ
うに、
努力します。

色々と、お手数をおかけしました。ありがとうございました。
設定に気をつけることで、対応していきます。お世話になりました。

[ ]