以前にパックファイルを作成するモジュールとツールを作ったのだけど、
仕様が気になって新たに作り直してた。
以前のパックファイルの使用では、
- ファイル名の長さ
- ファイル名
- ファイルサイズ
- ファイルデータ
利点は、
- ファイルデータへのアドレスを省略できる
- 追加が簡単。後ろに追記すればいい。
という2点。
欠点は、読み込みのときはファイル全体をなめなければならず、効率が悪い点であった。 もうひとついえば、データへのアドレスなんて4Byte*nなんで、とくに重たいわけでもない。
そこで、よくあるパックファイルの形式にしてみた。
まずファイル情報のデータ郡があり、それからファイルのデータが書き込まれている形式で、
- ファイル数
- {ファイル名の長さ、ファイル名、ファイルサイズ、ファイルデータへのアドレス}*n
- ファイルのデータ * n
といった感じ。
で、利点が、読み込み時はとりあえずファイル先端のほうだけ読めば良いので、読み込みは効率的。
そんなわけで、画像を見てのとおり一通りの機能を実装したツールを作ったはいいんだけど、この形式の欠点をまったく考慮してなかった。
というのも、ファイルのデータが設置される場所がファイル情報数に依存ため、最終的に書き込むまでファイルデータ等をまるまるメモリに保存していないといけない。効率云々の問題ではなくなったしまった。
たかだか数MB程度の消費といえばそれまでだけど、これは許せんッ!
ってことでせっかく作ったツールもおじゃんである。
読み込みが遅いよりもメモリを食うほうが嫌だというのは、時代遅れだろうか。
冷静に考えれば、新たに作った方式のほうがまとめて書き込みする分、数倍は高速なはず。しかしこの気持ち悪さは異常! たえられない!
1 件のコメント:
In English:
Hello, I am very interested on the "PackFileEditor" application.
I would like to give me the source code for operation through the mail pjucys@gmail.com.
Thank you very much from Argentina! Greetings!
In spanish:
Hola!, me interesa mucho sobre la aplicacion "PackFileEditor", me gustaría que me dés los códigos fuentes para ver el funcionamiento a través del mail pjucys@gmail.com .
Muchas Gracias desde Argentina !!! Saludos !!
コメントを投稿