我的程序读取一个文件,处理它并将结果保存在一个csv文件中。我们整个人都包含一个循环,其中处理了许多不同的文件。为每个文件生成一个单独的 csv 文件。我能够在时间方面非常有效地实现处理,因此保存各自的结果是循环中最长的过程。结果可用,vector <float>目前保存如下:
std::vector<float*> out = calculation(bla);
fstream data;
data.open(savepfad + name + ".csv", ios::out);
data<< sizex << endl;
data<< sizey << endl;
data<< dim << endl;
for (int d = 0; d < dim; d++)
{
for (int x = 0; x < sizex * sizey; x++)
{
data << out[d][x] << ",";
}
data << endl;
}
data.close();
Run Code Online (Sandbox Code Playgroud)
我的第一个想法是,我可以简单地将存储过程外包给一个新线程(可能使用 fork),这样我就可以继续主循环。但是我用的是窗户。我可以以某种方式更快地将数据写入硬盘驱动器吗?有没有人有一个绝妙的主意?
编辑: 所以我根据声明重建了代码,但没有真正的速度优势。代码现在看起来像这样:
std::vector<float*> out = calculation(bla);
string line = std::to_string(sizex) + "\n" + …Run Code Online (Sandbox Code Playgroud)