2008-09-17 3 views
4

たとえば、ページがレンダリングされたときにoutput.write呼び出しをすべて受け取っていて、テキストライタに追加されていたストリングビルダ。TextWriter/StringBuilderより効率的なテキストスプーラがある

これを行うより効率的な方法はありますか?ドットネットにはすでに存在するものがありますか?特に、百kを超える合計サイズがある場合。連続したメモリではなくページの配列のようなものでしょうか?

答えて

3

私はStringBuilderが.netでテキストを追加する最も効率的な方法だと思います。より効率的にするために、作成時にStringBuilderの初期サイズを指定することができます。

1

それはそれが得られるほど良いです。 StringWriterを使用することはできますが、まだStringBuilderに書き込んでいます

3

これは、そのテキストで何をしているかによって異なります。

トレースまたはロギングの問題がある場合は、ETW(Windowsのイベントトレース)を使用することをお勧めします。これは、Windows 2000以降にWindowsに組み込まれたカーネルレベルのトレース機能です。ファイルI/Oよりもはるかに高速です。

.NET 2.0を使用していない場合は、それを使用するには少しWin32 APIを使用する必要があり、システムに登録するプロバイダクラスを作成する必要があります。それは少し複雑ですが、努力する価値があります。

.NET 3.5を使用している場合、管理対象のEtwクラスはSystem.Diagnostics.Eventingにあります。

関連する問題