Размер страницы Б-дерева

Тема в разделе "WASM.WIN32", создана пользователем Sharp, 23 окт 2005.

  1. Sharp

    Sharp New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2003
    Сообщения:
    143
    Адрес:
    Ukraine
    Имеется очень большое Б-дерево, нужно найти оптимальный размер одной страницы. Насколько мне известно, контроллер жесткого диска считывает информацию блоками по 512 байт, пробовал проверить, считывая по 512 и 513 байт, но кэширование Windows нивелировало разницу. Отличается ли считывание с диска Windows с кэшированием от непосредственного, либо как можно его отключить?
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Память в виндоусе разбита на строницы 4096. Вот по столько виндоус и подгружает. Насчет контролера винчестера. Он может считывает не только по 512Байт=1Сектор, но и сразу несколько секторов. Вроде, как ограниченно размером одной дорожки 16 секторов.
     
  3. Sten

    Sten New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2003
    Сообщения:
    39
    Обычно привязываются к размеру кластера файловой системы.
     
  4. SDragon

    SDragon New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2005
    Сообщения:
    133
    Адрес:
    Siberia


    Флаг FILE_FLAG_NO_BUFFERING при вызове CreateFile.
     
  5. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Оптимальный размер блока для чтения больших файлов как с кэшированием так и без ~16-64Кб. При обычном последовательном чтении с кэшированием можно брать и 4-8Кб и меньше. Для справочки см.результаты теста под Win XP