странное поведение FindFirstFile. кеширование?

Jude
Дата: 25.05.2011 22:03:17
Ситуация:
запускаю программу-тест.
(листинг ее тут 10707210)
первый запуск = около 30сек.
дальше по 1сек. результат рассчитывает верно.

на другой машине тесты давали 3мин.8сек - первый запуск, последующие около 4х сек.

вопрос:
это какой-то кэш?
почему первый запуск так долго тупит?
Что-то с налету не нашел про это.
DmSer
Дата: 25.05.2011 22:09:13
Jude
это какой-то кэш?
почему первый запуск так долго тупит?
Что-то с налету не нашел про это.


Разумеется есть и дисковый кэш и кэш на уровне ОС (видимо кэшируется работа с файловой системой), поэтому очередной поиск проходит быстрее.
Jude
Дата: 25.05.2011 22:32:40
DmSer
Jude
это какой-то кэш?
почему первый запуск так долго тупит?
Что-то с налету не нашел про это.


Разумеется есть и дисковый кэш и кэш на уровне ОС (видимо кэшируется работа с файловой системой), поэтому очередной поиск проходит быстрее.

так уже нашел про кэши. спасибо.
похоже мысль "подготовить почву" при запуске программы, чтоб юзер меньше ждал, когда запустит поиск = плохая идея.
DetSimen
Дата: 26.05.2011 06:19:01
Jude, при старте программы запусти фоновый поток с поиском, и потом, когда юзер запустит поиск, он будет делаться быстрее. Правда, кэш долго не хранится :)
Jude
Дата: 26.05.2011 08:21:48
DetSimen
Jude, при старте программы запусти фоновый поток с поиском, и потом, когда юзер запустит поиск, он будет делаться быстрее. Правда, кэш долго не хранится :)

пока эксперименты показали - что при первом запуске долго, а до перезагрузки винды - быстро.
на счет фона - мысль такая была. но как это организовать, чтоб не получилось путаницы с Н потоками - пока не понятно.
хотя можно рубить поток в момент запуска - поиска. с другой стороны гонять поиск "просто так" - тоже как-то не гуд...
Думаю пока.