Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Category:

Буферы по 64 кб в 2017

11 лет считаю спички у вас в коробках их то 59, то 60, а иногда и 58. Вы там сумасшедшие, что ли, все?
Короче, у мадам медленный девчачий ноут с AMD C-70 и HDD. Ну и накатилcя туда Windows 10 Creators Update. На медленных ноутах вообще всё интересно наблюдать - любые спички как на ладони. Например, за пост-загрузочной активностью, когда какой-нибудь trusted module installer медленно и печально, с маленькими буферами и короткими очередями, всё накатывает. При этом периодично переходит из IO-bound в CPU-bound режимы и обратно. IO Bound конечно не IO Bound никакой, просто там в МС инженеришко-практик тупой сидит обычный промышленный академиев не кончавший, об устройтсве IO имеющий чисто интуитивное представление.

В-общем после накатки там образуется невъебическое количество фрагментов файлов. Притом если для всяких логов и базок ещё понятно, то фрагментированные файлы по 8 кб и фрагментированные дллки это что-то интересное.

Так вот, там есть много файликов с 64 кб фрагментами и много файликов с 4 кб фрагментам. Т.е. делишь размер файла на количество фрагментов - получаешь 64 или 4 с хвостиком.

Я так думаю, это они ничтоже сумняшеся пишут "последовательно" в файлик с 4 кб буферами, оно в тесте работает быстренько и все довольны. А в продакшене получается что параллельно с этим процессом тоже кто-то пишет. И тем же наивным способом с теми же буферами. Ну и NTFS-аллокатор аллоцирует зебру 64 кб первого файлика 64 кб второго.

Это конечно надо исследовать. Но я думаю что NTFS-аллокатор не настолько туп, чтобы его нельзя было заставить нормально аллоцировать, если дать ему достаточно инфы - писать длинными буферами, преаллоцировать файлы перед записью и т.п.

Короче, всем считать спички в школу!

Да, к чести МС основные файлы апдейта ставятся нефрагментированными. То есть у них как и у всех - местами инженеры с монадками, а местами инженера без. 4kb фрагменты у PNP-файликов. Т.е. околокернельные инженера - самые практики. Я подозреваю, они-то умные, но гордые - а зачем нам что-то учить, мы всё 20 лет назад выучили.
Tags: io optimization, programming, все пидарасы а я
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment