2011-05-14 17 views
2

私は非常にパフォーマンスが重視される重要なアプリケーション(C言語で書かれています)を持っています。ログファイルに物を書くことは実際に物事を遅らせるでしょう。私はロギングのために別のアプリケーションに送信されるソケットにログメッセージを書き込むことを検討しています。それは働くだろうか?I/O、ローカルドライブ上のファイルに書き込んだり、ソケットに書き込む方が速いのですか?

+2

はい、それは 'syslog'と呼ばれています。 http://en.wikipedia.org/wiki/Syslog –

+1

あなたの質問に答えてみましょう。文字列はどれくらいですか? – jer

答えて

1

非同期I/Oを使用します。これにより、アプリケーションがブロックされなくなります。

+0

AIO APIはかなり恐ろしいので、代わりにスレッドを使用することをお勧めします。とにかくスレッドを使用して実装されますが、少なくともスレッドを自分自身で実行する場合は、サンクしないAPIを作成することができます。 –

+0

@R .:どのプラットフォームですか? OPは彼のことを特定していない。 – Puppy

2

最も簡単な方法は、ログの書き込みを担当する別のスレッドを作成することです。すべてのログエントリをリンクリストに追加して、スレッドがそのリストに対して機能するようにしてください。

関連する問題