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

Discussion in 'WASM.WIN32' started by Sharp, Oct 23, 2005.

  1. Sharp

    Sharp New Member

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

    Pavia Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 17, 2003
    Messages:
    2,409
    Location:
    Fryazino
    Память в виндоусе разбита на строницы 4096. Вот по столько виндоус и подгружает. Насчет контролера винчестера. Он может считывает не только по 512Байт=1Сектор, но и сразу несколько секторов. Вроде, как ограниченно размером одной дорожки 16 секторов.
     
  3. Sten

    Sten New Member

    Blog Posts:
    0
    Joined:
    Jun 2, 2003
    Messages:
    39
    Обычно привязываются к размеру кластера файловой системы.
     
  4. SDragon

    SDragon New Member

    Blog Posts:
    0
    Joined:
    Jun 6, 2005
    Messages:
    133
    Location:
    Siberia


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

    leo Active Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2004
    Messages:
    2,542
    Location:
    Russia
    Оптимальный размер блока для чтения больших файлов как с кэшированием так и без ~16-64Кб. При обычном последовательном чтении с кэшированием можно брать и 4-8Кб и меньше. Для справочки см.результаты теста под Win XP