ソフトを開発しようと思った動機、背景
ツールによって効率よく多数の書庫を解凍できないかと模索したことが開発のきっかけです。というのも、書庫によって解凍時に書庫と同名のフォルダを作る、作らないが統一されていなかったり、複数の書庫を同一フォルダに解凍した場合にファイル名が同じで上書きされてしまったりということがありました。そのため書庫のファイルやフォルダ構成を事前に確認可能な機能を付加し、フォルダの構成やファイル名を修正可能なオプションを付けました。また、開発中にBrotliやZstandardといった圧縮アルゴリズムの安定版が登場したのを知りました。私自身が興味を持ったことで、圧縮機能込みでこれらをサポートしました。
開発中に苦労した点
このソフトウェアにはログ機能を付けています。はじめはログを1件ずつ保存したのですが、それだといまひとつ圧縮や解凍の速度が出ませんでした。悩んだ挙句、複数件ログがたまってから書き込む方式に変更し、ある程度解決しました。また、サポートした圧縮形式の一部がメモリを大幅に消費するため、メモリ不足に悩みましたが、PAE(物理アドレス拡張)を行うことで改善しました。
ユーザにお勧めする使い方
例外もありますが、ZIP形式などの圧縮や解凍を行う場合、複数ファイルを同時に圧縮や解凍を行うロジックにしました。そのため、事前に圧縮や解凍などの設定を複数ファイル分まとめて行ったあとに、「実行」ボタンを押下して処理いただければ、時間の短縮につながります。
また、このソフトウェアには一つのファイルを複数の圧縮形式で簡単に圧縮できる「圧縮率テスト」モードが付いていて、圧縮・解凍後には圧縮効率を表示できます。興味がありましたら、いろいろなファイル形式に対してどの圧縮形式が最適か比べてみるのもよいかと思います。
今後のバージョンアップ予定
多数の書庫の圧縮や解凍に主眼を置いて開発してきましたが、逆に1個の書庫の圧縮や解凍に対しては改善が必要と思っています。また、ほかの圧縮形式にも対応させたいと思っています。
(Eiki)