*由于某种原因,我之前的答案被删除了(我承认第一句话有点令人困惑,因为当它得到更好的结果时进行了笨拙的编辑)
实际上,对我来说,性能大致相同。
VC11 写/读 1M 双倍 -> 6.600/3.562 秒
VC10 写/读 1M 双倍 -> 6.266/3.606 秒
所以在我的实验中,从 vc11 中的文件中读取双精度值是 aprox。与 vc10 的性能相同。代码示例:
int _tmain(int argc, _TCHAR* argv[])
{
auto x = 0.0;
auto numberofdoubles = 1000000;
auto filename = "C:\\double.txt";
{
std::ofstream filestr(filename);
auto starttime = clock();
for(int i=0; i<numberofdoubles; i++)
filestr << (double)i << " ";
auto endtime = clock();
auto elapsed = (double)(endtime - starttime)/CLOCKS_PER_SEC;
std::cout << "writing: " << elapsed << std::endl;
}
{
std::ifstream filestr (filename);
auto starttime = clock();
for(int i=0; i<numberofdoubles; i++)
filestr >> x;
auto endtime = clock();
auto elapsed = (double)(endtime - starttime)/CLOCKS_PER_SEC;
std::cout << "reading: " << elapsed << std::endl;
}
return 0;
}