コマンドラインでの使用を意図したプログラムをCで作成しました。シェルスクリプトに散在していることが多いと思われるプログラムは、man
またはinfo
で処理できない特殊なヘルプを持っています。実行ファイルにヘルプをインライン展開すると、読み込み速度と実行速度が低下しますか?
エスケープシーケンスを含むプレーンテキストのヘルプの重さは18.7 KiBです。ゼロ終端文字列としてインライン化された実行可能ファイル(および要求に応じてそれを表示するif
句)の重さは39.0 KiBで、19 KiBの重さはありません。
私は実行ファイルにヘルプをインライン展開して、別のファイル名と場所を覚えておいて、その端末に簡単にアクセスできるようにしたいと考えていました(cat
)。 (実行ファイルはシェルの検索パスにあるので問題はありません)
しかし、倍増すると読み込み速度が低下することが懸念されます。
OTOH OSがロードされた実行可能ファイルをキャッシュすることを読んだり聞いているようですので、これについてはあまり心配する必要はありません。
もう1つの方法は別のものを実行可能にすることです(重量は28キロビットですが、頻繁に使用されないので心配する必要はありません)。
このような状況のベストプラクティスはありますか?お知らせ下さい。ありがとうございました!
このような詳細は心配しないでください。多少のKb(またはMb)でも目立った変更はありません。むしろあなたが使用しているアルゴリズムに焦点を合わせます。 –
非常に古い/遅いハードウェアを使用していない限り、記述するテキストの量(数KiB)については、ロード/実行速度の差は重要ではありません。私はあなたがUNIXを使っているなら、それが真実であるとは思っていません。このようなハードウェアを使用している場合は、テストを行い、効果がまったく重要かどうかを判断してください。 – Peter