есть 2 идентичных кода:
#include <stdio.h>
int main() {
char buf[10000];
FILE * a = fopen("test.txt", "w");
for (int i = 0; i < 10000; i++)
{
fwrite(buf, 1, 10000, a);
}
fclose(a);
return 0;
}
и
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
char buf[10000];
fstream a;
a.open("test.txt", fstream::out);
for (int i = 0; i < 10000; i++)
{
a.write(buf, 10000);
}
a.close();
return 0;
}
оба кода создают файлик н 100 000 000 байт.
на 6 студии ентерпрайз первый код работает несколько секунд, второй — минуты полторы.
сначала думал, что у меня проблемы с винтом, потом этот вариант отпал, когда я написал первый код. потом думал, что это с виндой проблемы, однако, первый код работает нормально.
на gcc и на 7 студии оба кода работают с одинаковой нормальной скоростью(секунд 5-6 максимум)
что это такое?
можт там в студии галку какую поставить надо или компилять как-то по-умному?
Здравствуйте, CraZzZy_LaMa, Вы писали:
[skiped]
CZZ>на 6 студии ентерпрайз первый код работает несколько секунд, второй — минуты полторы.
CZZ>сначала думал, что у меня проблемы с винтом, потом этот вариант отпал, когда я написал первый код. потом думал, что это с виндой проблемы, однако, первый код работает нормально.
CZZ>на gcc и на 7 студии оба кода работают с одинаковой нормальной скоростью(секунд 5-6 максимум)
CZZ>что это такое?
CZZ>можт там в студии галку какую поставить надо или компилять как-то по-умному?
А Вы попробуйте STL в 6й студии поменять, имхо, весьма плохая реализация там.
Я не волшебник, я только учусь.
Posted by RSDN@HOME.