[ 新規に投稿する ]

ブックマークの容量が小さすぎるNo.41993
Fzok4234 さん 25/06/10 16:36 [ コメントを投稿する ]
  毎度お世話になっております。Fzok4234 です。


さて、ブックマークの容量は現時点で
 ・16 KB
または
 ・1000 個
となっていますが、正直この両者はアンバランス過ぎると思います。

というのは、当方でブックマークに項目を 1000 個に遥か届かない僅か 60 個ほどファイルを登録した段階で、
容量不足のエラーが出てしまいました。このとき、実際に「ブックマークの整理」で .hmbook ファイルに
保存してみたところ、文字数が既に 8000 弱文字、UTF-16 として 1 文字 2 Byte とすれば丁度 16 KB 弱に
達していました。

項目数を最大の 1000 個として実際に必要な Byte 数を見積もってみましたが、項目のファイルパスが MAX_PATH の
260 文字消費するとみて、UTF-16 として 1 文字 2 Byte とみれば、
( 260 * 2 * 1000 ) = 520,000
であるから、パス文字列だけで 520 KB 、項目名やグループ名を考慮すれば 640 KB が妥当な Byte 数と考えられます。

現在の容量の 16 KB はこれの 1 / 40 しかなく、1000 個の項目数と比較して余りにも少な過ぎるように感じます。


このことから、ブックマークの容量を Byte 数と個数との間でバランスの取れたものになるよう、修正したほうが
良いのではないでしょうか。ご検討の程よろしくお願い申し上げます。



[ ]
RE:41993 ブックマークの容量が小さすぎるNo.41996
秀丸担当 さん 25/06/11 08:54 [ コメントを投稿する ]
  確かにブックマークの容量は小さいかもしれません。
ご意見参考にさせていただきます。
[ ]
RE:41996 ブックマークの容量が小さすぎるNo.41997
Fzok4234 さん 25/06/11 09:49 [ コメントを投稿する ]
  回答ありがとうございます。


そもそも論として、なぜ 16 KB という Byte 数に決定したのか、その詳しい経緯について説明して
もらいたいです。

16 KB の Byte 数で 1000 個の項目分を賄おうとすると、UTF-16 は 1 文字 2 Byte であるから、
項目 1 個当たり平均で僅か 8 文字分の割り当てとなってしまいます。しかも、.hmbook の項目の
書式は
"FullPath",name="Name"\r\n
の形式となっていて、たとえファイルのフルパスと名前が 0 文字でも
"",name=""\r\n
と表現されることから、項目 1 個の最低文字数は 12 文字となり、平均 8 文字の割り当てはこれを
下回ってしまいます。

このことから、16 KB と 1000 項目とを同列に扱おうとすることが間違っていることは明らかです。
なぜこのような誤った計算をされたのか、きちんと誠意ある説明をしてもらわないと、当方としても
納得がいきません。

どうかよろしくお願いします。


[ ]
RE:41997 ブックマークの容量が小さすぎるNo.41998
秀丸担当 さん 25/06/11 10:52 [ コメントを投稿する ]
  内部的な構造は違うものの、16KBで1000個を超えられないという疑問があるのはわかります。
16KBは読み込み後のメモリの上限で、1000個はレジストリへの保存の上限です。
今後メモリのほうの拡張するとしたら1000個の意味を持つかもしれませんが、現時点では意味が無いです。
ヘルプにもそのあたりのことを書いておきます。
[ ]
RE:41998 ブックマークの容量が小さすぎるNo.41999
Fzok4234 さん 25/06/11 11:23 [ コメントを投稿する ]
  > 内部的な構造は違うものの、16KBで1000個を超えられないという疑問があるのはわかります。
> 16KBは読み込み後のメモリの上限で、1000個はレジストリへの保存の上限です。

なるほど、ブックマークのデータ書式が
 ・.hmbook ファイル
 ・レジストリ
 ・メモリー内
でそれぞれ異なるというわけですね。これなら納得できます。

ただ、メモリー内のバッファーサイズを過少に見積もっていたことに関してはやはり問題だと
感じています。

一度このブックマークの 1 件で痛い目に遭うと、ひょっとしたらこれとどまらずに、ヘルプに
ドキュメント化されていない過少なバッファー確保という「爆弾」が、まだ他に多数存在するのでは
ないかという疑いの目で見てしまいます。

バッファーサイズのことではないが、以前にはデスクトップ復元でタイムアウト制限に引っかかるという、
ドキュメント化されていない制約の存在が問題となりました。

最近では、一般的なマシン構成でのメモリー容量が 16 GB まで増えているように、一昔前と比べて
アプリによるメモリーの消費量を限界まで絞る必要はなくなってきております。今一度、内部の
バッファーサイズが理不尽な少なさとなっていないか見直してもらえれば助かります。


[ ]

[ 新規に投稿する ]