чтение файла через wifstream/ifstream. многократная разница в производительности

Собственно суть вопроса очень проста. Когда читаю файл через wifstream:

std::wifstream file("test.txt");
std::wstring str;
int size = 0;
while (std::getline(file, str))
{
    size += str.size();
}

Файл считывается в 6-7 раз медленнее, чем если бы я тот же файл читал не используя широкие символы:

std::ifstream file("test.txt");
std::string str;
int size = 0;
while (std::getline(file, str))
{
    size += str.size();
}

Почему так и можно ли с этим что-то сделать? win7. пробовал с mingw x32 и msvc2017 x64 Проверял на нескольких машинах, пробовал читать с различных дисков, как жестких, так и SSD.


Ответы (0 шт):