Bulat_Ziganshin
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору мой вывод о связи с размером буфера hdd высосан из пальца. просто лет 10 назалд я проверял на xp и своём диске с 2 МБ буфером, обнаружил значительное замедление при переходе от 1 к 2МБ и предположил, что дело в том, что с 1 МБ архиватор и диск работают по сути одновременно - данные оседают в кеше диска, он тут же рапортует "Записано!" и отдаёт управление архиватору, и фактически выполняет запись в то время пока архиватор занимается сжатием. с записью же по 2 МБ данные в кеш диска уже не вмещаются, и архиватору приходится ждать пока по крайней мере часть их сбросится на диск. но повторюсь - это было просто моё предположение оптимальным же размером буфера на те времена было 32-64 КБ, что вполне может быть как раз размером сегмента, ну или размером дорожки при этом сама xp вообще не кешировала запись данных ради надёжности. в нынешних виндах (как минимум в 7-ке) запись кешируется, за исключением устройств, которые могут в любой момент выдернуть, поэтому разницы в большинстве сценариев не будет вообще. моё мнение об оптимальности 1 МБ относится на самом деле к чтению, и получено из собственных наблюдений с помощь утилиты read, а также из тестов ssd, публикуемых на 3dnews - там видна скорость чтения/записи при разном размере блока, и обычно на 1 МБ наступает насыщение. Правда тест на 3dnews делается afair при 4 одновременных запросах (QD=4), так что на самом деле это не совсем то вот чтение из кеша на моём компе: Код: D:\Downloads>for %a in (4k 8k 16k 32k 64k 128k 256k 512k 1m 2m 4m 8m 16m 32m) do @read -b%a z:\4g Buffer 4 KB. z:\4g 4531mb: time 49.715335 seconds, speed 91.140097 mbytes/sec Buffer 8 KB. z:\4g 4531mb: time 25.543717 seconds, speed 177.384538 mbytes/sec Buffer 16 KB. z:\4g 4531mb: time 13.207320 seconds, speed 343.071898 mbytes/sec Buffer 32 KB. z:\4g 4531mb: time 7.168383 seconds, speed 632.089585 mbytes/sec Buffer 64 KB. z:\4g 4531mb: time 4.180219 seconds, speed 1083.929078 mbytes/sec Buffer 128 KB. z:\4g 4531mb: time 2.572748 seconds, speed 1761.175535 mbytes/sec Buffer 256 KB. z:\4g 4531mb: time 1.725249 seconds, speed 2626.322001 mbytes/sec Buffer 512 KB. z:\4g 4531mb: time 1.327161 seconds, speed 3414.100681 mbytes/sec Buffer 1 MB. z:\4g 4531mb: time 1.149006 seconds, speed 3943.461708 mbytes/sec Buffer 2 MB. z:\4g 4531mb: time 1.189253 seconds, speed 3810.005536 mbytes/sec Buffer 4 MB. z:\4g 4531mb: time 1.198984 seconds, speed 3779.082642 mbytes/sec Buffer 8 MB. z:\4g 4531mb: time 1.404334 seconds, speed 3226.484128 mbytes/sec Buffer 16 MB. z:\4g 4531mb: time 1.542587 seconds, speed 2937.312673 mbytes/sec Buffer 32 MB. z:\4g 4531mb: time 1.542497 seconds, speed 2937.484775 mbytes/sec | а вот чтение с диска (это hdd в raid0): Код: D:\Downloads>read -b256k z:\6g Buffer 256 KB. z:\6g 5823mb: time 11.824282 seconds, speed 492.517187 mbytes/sec D:\Downloads>read -b1m z:\vm Buffer 1 MB. z:\vm 4244mb: time 8.638413 seconds, speed 491.314424 mbytes/sec | так вот, проблема получается в основном у пользователей xp и у тех кто пишет на флешки, остальные вряд ли заметят какую-то разницу на практике. может, для удобства и тех и других выбирать размер буфера в зависимости от версии ОС? исходя из того, что у пользователей XP и оборудование чаще всего старое, да и вообще не факт что дело в нём, может это какая-то особенность самой XP всё же (есть смельчаки, гоотовые хапустить XP на современном железе и посотреть какой -mz будет оптимальным?) Цитата: В таком случае при архивирование ещё укажите шифровать имена файлов, либо измените расширение на нейтральное (например .txt), а потом попросите юзера сменить его обратно. | да тогда его точно занесут в список террористов  |