Ghost2004
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Bulat_Ziganshin Цитата: но при этом доверяешь crc-32, вообще наводит на грустные размышления | А где я такое говорил, crc32 я eщё больше не доверяю . После тестов декомпрессии я обычно устраивал побайтовое сравнение исходного и распакованного файлов в Total Commander'е с разных физических дисков;). Хотя, конечно, в контрольных суммах я особо не разбираюсь (знаю, что md5 крепче crc32 - но по чистой случайности..) . Цитата: вообще, я с примерно теми же рассуждениями (только с упором на потребление памяти, а не сбои в sha1) собрался делать следующую версию. если скорость распаковки нас устраивает, то почему бы не делать то же самое при сжатии? | Да, я заметил подобные планы в todo-list srep08.cpp - хотя уже в процессе написания прошлого сообщения. (Читать-то .cpp я умею, а вот с написанием - проблема, мои знания застряли на том, чему успели научить в продвинутой математической школе - т.е. о c/c++ под дос (т.к. оно было лет 10-15 назад) я кое-что знаю (и даже программы писать умел), хотя и не полностью и не системно...). Цитата: sha1: 160 бит, md5: 128 бит. вероятность сбоя в памяти гораздо больше. | Да, точно - о втором (сбое в памяти) я как-то не подумал . Короче с этим я конечно лоханулся по полной программе ... egor23 Цитата: что Вы имеете ввиду? сейчас при упаковке данные по содержимому сравниваются? | Нет, по контрольным суммам - если я правильно понял, то по sha1. Плюс проверка md5 для каждого исходного блока на 8 Мб - так что если при распаковке выйдут другие данные, то srep08 выдаст соответствующую ошибку... но шансы на это порядка 2^-160*filesize/L (скорее действительно файл побьётся при чтении или записи, или сбой в RAM случится). И спасибо что поймал опечатку - я тогда усталый был, и наверное что-то напутал... Тогда переставлю сюда и результаты в сравнимом виде 1+3+2 -> rep:1gb:h27:a99 - 16429.324 Мб 1+3+2 -> srep - 12528.510 Мб Так что с 1+2+3 разница маленькая в обоих случаях - 0.1 Мб для srep и 2.5-3 Мб для rep (тут наверное a99 их выиграли). |