たとえば、ページがレンダリングされたときにoutput.write呼び出しをすべて受け取っていて、テキストライタに追加されていたストリングビルダ。TextWriter/StringBuilderより効率的なテキストスプーラがある
これを行うより効率的な方法はありますか?ドットネットにはすでに存在するものがありますか?特に、百kを超える合計サイズがある場合。連続したメモリではなくページの配列のようなものでしょうか?
たとえば、ページがレンダリングされたときにoutput.write呼び出しをすべて受け取っていて、テキストライタに追加されていたストリングビルダ。TextWriter/StringBuilderより効率的なテキストスプーラがある
これを行うより効率的な方法はありますか?ドットネットにはすでに存在するものがありますか?特に、百kを超える合計サイズがある場合。連続したメモリではなくページの配列のようなものでしょうか?
私はStringBuilderが.netでテキストを追加する最も効率的な方法だと思います。より効率的にするために、作成時にStringBuilderの初期サイズを指定することができます。
それはそれが得られるほど良いです。 StringWriterを使用することはできますが、まだStringBuilderに書き込んでいます
これは、そのテキストで何をしているかによって異なります。
トレースまたはロギングの問題がある場合は、ETW(Windowsのイベントトレース)を使用することをお勧めします。これは、Windows 2000以降にWindowsに組み込まれたカーネルレベルのトレース機能です。ファイルI/Oよりもはるかに高速です。
.NET 2.0を使用していない場合は、それを使用するには少しWin32 APIを使用する必要があり、システムに登録するプロバイダクラスを作成する必要があります。それは少し複雑ですが、努力する価値があります。
.NET 3.5を使用している場合、管理対象のEtwクラスはSystem.Diagnostics.Eventingにあります。