#4665

arere
メンバー

うちの環境ではシステムレジストリのサイズが51MB, ユーザーが14MBありますから、そのうちの1MB強だと特別大きいという印象はありません。

なんでもかんでも数点のファイルに収めてしまうWindowsのレジストリ構造には利用拡大が明確になったWin95登場当初から設計が悪いと感じていましたが、MSの設計方針でもありますから。
これをローカルのファイルに書き込むと、どのような構造にするかでメリットデメリットも含め変わりますが、例えば起動時間や終了時間が今より遅くなったり、設定確認等の利便性が下がったり、バグが入り込む余地が増える、発明の再発明という無駄が生じるなどのデメリットが起こりえます。

レジストリに書き込むと、対象のアプリが稼働していない状態でもそのアプリ用のレジストリエントリがメモリ上に置かれますし、他のアプリのエントリのオープンなどの際も検索比較対象として処理に関わることもありますから、当該アプリ以外からしてみれば言われるとおりマイナスの要素しかありません。

個人的には基本的にすべてINIファイルに保存し、INIファイルをバイナリ化したキャッシュの活用や一々INIファイルを展開し直す無駄に遅いWindow APIを利用せずにSTL等を利用し高速にINIファイルを処理するよう実装して欲しいと思ってます。

MS謹製のアプリやCOMを多用するアプリならこれ以上にレジストリを占有するものは沢山ありますね。