> > После заполнения кэша (я эксперементирую с кэшем на 120 тыс четырех > > килобайтных страниц) производительность падает до копеечных размеров. > > Грязные страницы на диск идут в каком порядке ? Как попало ?
Угу. - Беру последнюю страницу из очереди "грязных" страниц. - Блокирую её от записи - Пишу на диск - Убираю из списка "грязных" страниц - Начинаю с начала Возможно упорядочивание как-то поможет. Это значит я должен заблокировать группу страниц, упорядочить, выгрузить... Но, кажется, проблема не в этом. Нужно компоновать данные так, что бы заполненные блоки списков хеш-таблицы больше не модифировались. Это увеличит время проверки - после заполнения кэша, возникнут ситуации с загрузкой всех блоков какого-то списка. Но модифицироваться будет только последний блок. Остальные потом вытесняться из кэша без накладных расходов. Внутри блоков поддерживать упорядоченность. Длину списков можно регулировать увеливая HashTableSize. Цена проверки гипотезы - пара часов, не больше :) (сказал русский программист, гы) Коваленко Дмитрий.