• Авторизация


Скорость - это наше фсё 23-05-2006 14:27 к комментариям - к полной версии - понравилось!


Вообще заголовок новости должен был выглядеть как очередная серия рубрики "Удивительное - рядом", но я совершенно забыл - какая это уже была бы по счету серия. Ну да неважно.

Намедни пообщался со своим знакомым, заодно обсудили и мою тулзу. Высказал он вот такую мысль: "А для чего там будет столько разных алгоритмов ? Народ все равно будет пользовать либо стандартные CRC32 и MD5, либо выберет самый быстрый из тех, что есть в программе - MD4". Я, конечно, призадумался - резон в его словах есть.

Далее, как всегда, произошли события, никак не связанные с тем разговором. Решил я сравнить по скорости проверки Hasher и небезызвестный Total Commander.  Да, важное замечание. Тестовый файл представляет собой образ DVD9 и имеет размер 5.67 Gb. Так вот, результат получился удивительный - TC был быстрее, даже когда я отключил алгоритм хэширования и оставил только чтение файла.

Естественно, в природе так не бывает, и я понимал, что "как-то не так читаю". Небольшое расследование дало неожиданный (для меня) результат - все дело в размере блока памяти, который мы выделяем под чтение файла по частям. Я-то по наивности своей предполагал, что чем меньше обращений к диску, тем быстрее. Но "в действительности все совсем не так, как на самом деле". Оказалось, что оптимальный размер блока - 32 килобайта (sic !!!). При этом файл читался с диска с максимальной скоростью. В результате скорость чтения тут же поднялась до уровня TC.

И еще один интересный вывод. Для алгоритмов, скорость вычисления которых на данном процессоре больше, чем линейная скорость чтения файлов с диска, время проверки файла будет примерно одинаково. Что для "быстрого" MD4, что для гораздо более медленного SHA1. И это время практически не будет отличаться от... времени чтения файла с диска. Т.е. юзер сможет без проигрыша в скорости выбрать практически любой алгоритм.

Вот такая, блин, загогулина получилась.
вверх^ к полной версии понравилось! в evernote
Комментарии (6):
Dr_F0lken 23-05-2006-15:18 удалить
Это все злодолбанный кэш. Фиг поймешь, кто кого в результате ждет.
Bor_ka 24-05-2006-12:01 удалить
Похоже на размер какого-то внутреннего блока NTFS....
Dr_F0lken 24-05-2006-13:05 удалить
Я думаю, что файловая система, какая бы она не была, тоже виртуализируется. И может 32кб сработает как в NTFS, так и в FAT32
Bor_ka 24-05-2006-15:56 удалить
Ну я просто предположил, что 5.6 Гб одним файлом не может быть на ФАТе :)
Dr_F0lken 24-05-2006-17:36 удалить
А ! тьфу, прости Господи =). Я уж просто забыл, кто такой FAT32 Вообще, логично конечно.
TraxxOfAxe 24-05-2006-17:50 удалить
Я уж просто забыл, кто такой FAT32
Кстати об "антиквариате", а точнее о поддержке Win9х (95/98/98se/ME). Что с ними делать, я еще не решил. В принципе, можно добавить корректную работу в них посредством включения MS Unicode Layer, но... Не далее, как 30 июня (т.е. через 5 недель) Microsoft полностью прекращает поддержку этих систем, в том числе и платную. Фсё, каюк. Обеспечивать же совместимость с системами, которые больше не поддерживаются даже самим производителем, я не вижу смысла.


Комментарии (6): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Скорость - это наше фсё | TraxxOfAxe - Уголок глубоких мыслей | Лента друзей TraxxOfAxe / Полная версия Добавить в друзья Страницы: раньше»