我有.txt个文件用于数据(100MB - 700MB(。当读取这些文件并将它们放入矢量中时,Linux 的速度提高了 20-30 倍。这是系统问题,还是我可以做些什么来加速 Windows?
我已经在每个系统上运行了数百次相同的代码。两个系统都有一个 64 位编译器(没有它,我会得到一个糟糕的 Alloc 抛出(。
我减少了结构中的变量数量以简化执行
struct Data //Create all possible data that would be created or imported from data.
{
double month, day, year, hour, min, seconds, open, high, low, close, volume;
};
vector<Data> matrix;
void createData (ifstream &dataFile, double tick, double tickA, string name) //Imports data into program.
{
double month, day, year, hour, min, seconds, open, high, low, close, volume;
char delim;
if (dataFile.is_open())
{
while (dataFile >> month >> delim >> day >> delim >> year >> hour >> delim >> min >> delim >> seconds >> delim >> delim >> delim >> open >> delim >> high >>
delim >> low >> delim >> close >> delim >> volume)
{
matrix.push_back({month, day, year, hour, min, seconds, open, high, low, close, volume});
}
}
}
正如你在这里看到的,ext
文件系统在读/写操作中比NTFS
快得多,所以它在Linux上要快得多。 所以我认为没有办法让它在 Windows 上更快。