Linux намного быстрее Windows при чтении данных из файла .txt и размещении в векторе. Как бы я ускорил Windows, чтобы сделать то же самое? - PullRequest
1 голос
/ 21 апреля 2019

У меня есть файлы .txt для данных (100 - 700 МБ).При чтении этих файлов и размещении их в векторах Linux делает это в 20-30 раз быстрее.Это системная проблема, или я могу что-то сделать, чтобы ускорить работу Windows?

Я запускал один и тот же код сотни раз на каждой системе.Обе системы имеют 64-битный компилятор (без него я получаю команду badAlloc).

Я уменьшил количество переменных в структуре для более простого выполнения

   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});
        }
    }
}

1 Ответ

3 голосов
/ 21 апреля 2019

Как вы можете видеть здесь , ext файловые системы намного быстрее в операции чтения / записи, чем NTFS, поэтому в Linux это происходит намного быстрее.так что я думаю, что в Windows нет способа сделать это намного быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...