Здравствуйте, yartat, Вы писали:
Y>Попробуйте этот код на C++
Y>Y>int _tmain(int argc, _TCHAR* argv[])
Y>{
Y> PerfCounter pc;
Y> pc.Start();
Y> FILE* outs = _tfopen(_T("C:\\1.txt"), _T("ab"));
Y> char* buffer = new char[10000];
Y> for (int i = 0; i < 10000 / 4 - 1; i++)
Y> ((int*)buffer)[i] = 0x44444444; // 4 symbol 'D'
Y> ((int*)buffer)[10000 / 4 - 1] = 0x00444444; // 3 symbol 'D' and last '\x0'
Y> fwrite(buffer, 10000, 1, outs);
Y> fclose(outs);
Y> float t = pc.Finish();
Y> _tprintf(_T("%f"), t);
Y> return 0;
Y>}
Y>
И тот код был не показатель, а этот — вообще чушь. Только и годится, что одним символом заполнять файл.
И раз Вы сделали такое с C++ версией, то и с версией C# надо было поступить точно так же.
З.Ы. В исходной версии теста метод frpintf выполнялся в цикле 10000 раз, а у Вас fwrite — лишь однажды...