на главнуюВсе эхи RU.NETWORKS
войти ?

Re: Посоветовать хэш

От Eugene Grosbein (2:5006/1) к Alex Aka Parasite

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


Reply-To: eugen@grosbein.pp.ru

25 авг 2009, вторник, в 21:27 KRAT, Alex Aka Parasite написал(а):

AD>>>> это не ошибка. Это заранее запланированное поведение.
AD>>>> Планировать обработку коллизий надо с самого начала.
AAP>>> С самого начала надо планировать *отсутствие* оных.
EG>> Hе бывает хешей без коллизий.
AAP> Значит это должен быть HЕ хэш.
AAP> Hо без коллизий. :(
AAP> Причем многопроходную проверку желательно исключить (хотелка клиента).

Это невозможно и невозможность эту можно доказать строго математически.

AAP>>> Более того, это:
AAP>>> а)не гарантирует таки отсутствия коллизий - а будет обеспечивать
AAP>>> их отлов и обработку по какому-то другому алгоритму, что уже
AAP>>> приводит к необходимости наличия минимум ДВУХ обработок
EG>> Это нормально и даже неизбежно.
AAP> ...но идет вразрез с хотелкой клиента, указанной выше.

Хотелки клиента не могут менять фундаментальные математические законы.

AAP>>> б)не обеспечит обработку файлА, УЖЕ находящегося на диске (либо
AAP>>> вызовет необходимость его полного перелопачивания "как новый
AAP>>> покладаемый файл", пофайлово).
EG>> Вначале просто нужно будет навести во всём хламовнике элементарный
EG>> порядок (определить отношение порядка). Дальше всё будет автоматически
EG>> получаться.
AAP> Пошаговые "контрольные точки наведения порядка" намекнуть можешь? Hа мой
AAP> взгляд, в существующем проекте - порядок, и его надо лишь проапгрейдить
AAP> как
AAP> следствие увеличения размера\нагрузки. В этом апгрейде еще никто ничего
AAP> не
AAP> делал, так что всё - впереди...

Берешь подходящий хеш и работаешь с хеш-функцией почти так,
как ты хотел изначально. При несовпадении хешей констатируешь
несовпадение оригиналов - это 99 с лишним процентов случаев.
При совпадении хешей получаешь небольшую группу файлов, среди которых
надо провести побайтное сравнение оригиналов, на практике группа
почти всегда будет из двух файлов. Эта схема уже даст тебе кардинальное
улучшение производительности (будучи грамотно реализованной)
по сравнению с текущей версией. И ничего существенно ещё более быстрого
в любом случае не получишь.

Eugene
--
Enter old password: xxx
Enter new password: yyy
Confirm password: подтверждаю
--- slrn/0.9.8.1 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.NETWORKS?msgid=www.svzserv.kemerovo.su+2219b0c6