BufferedStream oder nicht?

Ab und an trifft man immer wieder auf elementare Fragen beim Programmieren, die man sich vorher in der Art noch nicht gestellt hat. Diesmal war es generell der FileStream in .NET. Die Frage ist halt, ob die FileStream Klasse in .NET schon einen Buffer verwendet oder ungebuffert ist, sodass man sie besser in einen BufferedStream einpackt, um die Performance zu erhöhen. Glücklicherweise bin ich auf einen Blogeintrag von Brad Abrams im MSDN gestossen, der diese Frage eindeutig beantwortet:

Bei einem FileStream kann im Konstruktor eine Buffergröße mitgegeben werden, d.h. dass ein FileStream generell gebuffert wird und man ihn somit nicht mehr extra in ein BufferedStream verpacken muss.

Tja, da man nicht reinschauen kann, war das nicht von vornherein klar, aber da das momentan für mich wichtig ist (ich brauche eine performante Schreibmethode für Daten), ist es nicht schlecht, wenn man das weiss und nicht unnötig Balast aufbaut.