Russian Qt Forum
Ноябрь 23, 2024, 12:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблемы с fstream  (Прочитано 3829 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Декабрь 28, 2010, 17:50 »

Добрый день

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

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

Спасибо
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Декабрь 28, 2010, 18:07 »

А что без кода можно посоветовать? Хотя нет, есть один совет - выложи код.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Декабрь 28, 2010, 18:24 »

А что без кода можно посоветовать? Хотя нет, есть один совет - выложи код.
Не тот случай.
Код:
mStream->read((char *) iData, iSize);
..
mStream->seekg(iPosition);
..
mStream->rdbuf()->pubsetbuf(&mBuffer[0], mBuffer.size()));
..
Ничего нового почерпнуть не удастся  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 22.