Файловый кэш
Насколько я помню, винда кэширует обращения к диску. В таком случае вопрос: почему сделать еще один кэш, загрузку в него из файла блоками, кратными размеру кластера и читать мелкие объекты из него получается быстрее чем читать их же напрямую?
no subject
Вторая проблема в том, что кэш - штука негарантированная, и закэшенную страничку винды могут внезапно взять и порешить использовать под что-то более, с их точки зрения, важное. Если же выделить себе память в user space, ее никто никогда под что-нибудь другое не заюзает (ну, конечно, если не считать своп, но в современном мире можно считать, что его нет).