私はCで実装する予定のプログラムを設計していますが、外部プログラムを呼び出すための最良の方法(パフォーマンスに関して)について質問があります。ユーザーは私のプログラムにファイル名を与えようとしているのですが、私のプログラムはそのファイルを入力として別のプログラムを実行しようとしています。私のプログラムは、他のプログラムの出力を処理します。Cのpopenのパフォーマンス
私の典型的なアプローチは、他のプログラムの出力をファイルにリダイレクトしてから、プログラムが完了したらそのファイルを読み込ませることです。しかし、I/O操作が非常に高価であることを理解しており、このプログラムをできるだけ効率的にしたいと考えています。
少し見ましたが、システムコマンドを実行して出力を取得するためにpopen
コマンドが見つかりました。このアプローチのパフォーマンスと、今説明したアプローチのパフォーマンスとの比較popen
は外部プログラムの出力を一時ファイルに書き込むか、プログラム出力をメモリに保存しますか?
また、パフォーマンスを向上させる別の方法がありますか?
読み取りと書き込みのステップの相対的なパフォーマンスはどうですか?外部プロセスは処理できるよりも速く結果を生成しますか? –