Здравствуйте, tealex, Вы писали:
T>я так много не читаю )
Тогда тебе не нужен ответ.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Кто помнит школьные интересные задачи
Дано :
COM SDK у которого есть функция Search( mas[] ), где mas[] — это массив файлов.
Функция работает быстро если этот массив находится в памяти полностью , но если массив не находится в памяти (не влезает) mas[] начинает использовать диск (считывать файлы).
Задача :
Сделать так что бы Search() работала быстро, но у SDK не существует информации о том находятся ли файлы в памяти или нет, можно использовать только косвенные методы.
Решение:
Нужно вызвать функцию Search() и посмотреть обращается ли приложение к диску....Как это сделать.
Было замеченно что в task manager есть колонка "I/O Reads Bytes" которая показывает что читает и она действительно показывает правильно, что когда вызываешь функцию Search() если файлов слишком много то значение "I/O Reads Bytes" начинает увеличиваться и не увеличивается если файлы в памяти.
Ещё предложения есть ? )
Здравствуйте, tealex, Вы писали:
T>Кто помнит школьные интересные задачи
T>Дано :
T>COM SDK у которого есть функция Search( mas[] ), где mas[] — это массив файлов.
T>Функция работает быстро если этот массив находится в памяти полностью , но если массив не находится в памяти (не влезает) mas[] начинает использовать диск (считывать файлы).
T>Задача :
T>Сделать так что бы Search() работала быстро, но у SDK не существует информации о том находятся ли файлы в памяти или нет, можно использовать только косвенные методы.
T>Решение:
T>Нужно вызвать функцию Search() и посмотреть обращается ли приложение к диску....Как это сделать.
T>Было замеченно что в task manager есть колонка "I/O Reads Bytes" которая показывает что читает и она действительно показывает правильно, что когда вызываешь функцию Search() если файлов слишком много то значение "I/O Reads Bytes" начинает увеличиваться и не увеличивается если файлы в памяти.
T>Ещё предложения есть ? )
Как я понял "I/O Reads Bytes" это
функция WinApi
BOOL WINAPI GetProcessIoCounters(
__in HANDLE hProcess,
__out PIO_COUNTERS lpIoCounters
);
typedef struct _IO_COUNTERS {
ULONGLONG ReadOperationCount;
ULONGLONG WriteOperationCount;
ULONGLONG OtherOperationCount;
ULONGLONG
ReadTransferCount;
ULONGLONG WriteTransferCount;
ULONGLONG OtherTransferCount;
} IO_COUNTERS,
*PIO_COUNTERS;
Здравствуйте, tealex, Вы писали:
T>Ещё предложения есть ? )
http://rsdn.ru/Info/Howtoask.xml... <<RSDN@Home 1.2.0 alpha 4 rev. 1090 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, tealex, Вы писали:
T>>Ещё предложения есть ? )
AVK>http://rsdn.ru/Info/Howtoask.xml
я так много не читаю )