Russian Qt Forum

Программирование => С/C++ => Тема начата: Igors от Декабрь 28, 2010, 17:50



Название: Проблемы с fstream
Отправлено: Igors от Декабрь 28, 2010, 17:50
Добрый день

Был очень старый кусок I/O, да еще и сделанный неоднообразно (на Mac так, на Вындоуз сяк). В конце концов дошли руки, переписал на fstream. Результат: на гигабайтном файле скорость упала в 5 раз   :'( (хотя и раньше была не фонтан). Смотрю в профайлере (CPU Sampler) - буфер есть, нормально. Видимо (полагаю) проблема в том что fstream вызывает seek файла (а этих вызовов очень много) независимо от того что там с буфером.

Что посоветуете ?

Спасибо


Название: Re: Проблемы с fstream
Отправлено: Пантер от Декабрь 28, 2010, 18:07
А что без кода можно посоветовать? Хотя нет, есть один совет - выложи код.


Название: Re: Проблемы с fstream
Отправлено: Igors от Декабрь 28, 2010, 18:24
А что без кода можно посоветовать? Хотя нет, есть один совет - выложи код.
Не тот случай.
Код:
mStream->read((char *) iData, iSize);
..
mStream->seekg(iPosition);
..
mStream->rdbuf()->pubsetbuf(&mBuffer[0], mBuffer.size()));
..
Ничего нового почерпнуть не удастся  :)