|
|
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Насколько показывает опыт, смотреть на размер файла и на Modification date - не достаточно надежный способ. CRC32 не подходит - размеры у меня по несколько гигабайт. Спускаться вниз - сначала смотреть размер, а потом если он не совпадает проверять CRC32 тоже не подходит - в 90 процентах случаев файлы идентичны. Я заметил, что FAR очень ловко проверяет это дело (по комманде сравнить директории). Ни у кого нет ноу - хау? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2006, 15:01 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
--Спускаться вниз - сначала смотреть размер, а потом если он не совпадает проверять CRC32 тоже не подходит - в 90 процентах случаев файлы идентичны. Я заметил, что FAR очень ловко проверяет это дело (по комманде сравнить директории). Ни у кого нет ноу - хау? MD5 or crc64? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2006, 17:33 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Lepsik--Спускаться вниз - сначала смотреть размер, а потом если он не совпадает проверять CRC32 тоже не подходит - в 90 процентах случаев файлы идентичны. Я заметил, что FAR очень ловко проверяет это дело (по комманде сравнить директории). Ни у кого нет ноу - хау? MD5 or crc64? Сколько займет подсчет crc64 или md5 от 850 файлов суммарным объемом 10 GB? Вообще, у меня задача стоит в синхронизации директорий, в которых лежат аудио- и видеоролики. И в максимально быстрой синхронизации - обновлять только то, что устарело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2006, 21:50 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Сергей ИльичСколько займет подсчет crc64 или md5 от 850 файлов суммарным объемом 10 GB? Сделай и узнаешь :) Сергей ИльичВообще, у меня задача стоит в синхронизации директорий, в которых лежат аудио- и видеоролики. И в максимально быстрой синхронизации - обновлять только то, что устарело. Я бы не стал заморачивался на такие вещи. Размера файла и даты модификации хватает для любого нормального софта. Если я обнаружу что кто-то меняет мои файлы и восстанавливает при этом их размер и дату модификации .... ну это значит не программа а вирус :) В крайнем случае можешь перед (или после) вызова такой вирусоподобной программы из батника вызывать touch. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2006, 22:21 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
White Owl Я бы не стал заморачивался на такие вещи. Размера файла и даты модификации хватает для любого нормального софта. Если я обнаружу что кто-то меняет мои файлы и восстанавливает при этом их размер и дату модификации .... ну это значит не программа а вирус :) Есть там такие файлы, которые всегда имеют одинаковый размер и одинаковую дату модификации (наклепали один раз и на целый год), но при этом разное наполнение. Усложнять их процедуры я не хочу - они должны как и раньше FAR'ом копировать текущий snapshop на жесткий диск курьера и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 02:02 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Сергей Ильичфайлы идентичны. Дайте, пожалуйста, Ваше определение слову "идентичны". А то не совсем понятно, что Вы под этим подразумеваете... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 09:19 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
--Сколько займет подсчет crc64 или md5 от 850 файлов суммарным объемом 10 GB? даже если файлы одного размера, то при сравнении сломаются на сравнение довольно быстро, не думаю что придется весь обьем считать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 09:27 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
miksoft Сергей Ильичфайлы идентичны. Дайте, пожалуйста, Ваше определение слову "идентичны". А то не совсем понятно, что Вы под этим подразумеваете... Мы, когда называем файлы "идентичными" (identical, equal), подразумеваем что 1) файлы - это конечные множества целых положительных чисел в диапазоне (0..255), так же известных как "октеты". Обозначим их как множество A и множество B. 2) Оба множества имеют одинаковый размер n, таким образом A = {a(1), a(2) ... a(n)}, B = {b(1), b(2) ... b(n)} 3) Для любого целого числа x в диапазоне (0..n) выполняется равенство a(x)=b(x). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 15:39 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Сергей Ильич2) Оба множества имеют одинаковый размер n, таким образом A = {a(1), a(2) ... a(n)}, B = {b(1), b(2) ... b(n)} 3) Для любого целого числа x в диапазоне (0..n) выполняется равенство a(x)=b(x). в пунктах 2 и 3 использовано одно и тоже число n или разные? если одно, то третий пункт надо поправить (1..n) А если по делу, то Вы требуете гарантии равенства содержимого файлов без прямой проверки, что, имхо, невозможно теоретически! Всякие котрольные суммы не могут дать такой гарантии. Они могут дать только гарантию неравенства! В данной ситуации я бы смотрел на происхождение файлов и начинал проверку равенства (не важно, прямым сравнением или с помощью контрольных сумм) с тех частей файлов, изменения которых наиболее вероятны. Например, с первых и последних 64Кбайт. насчет FAR-а - подсуньте ему две пары файлов по 10Гбайт. Причем в первой паре файлы должны быть идентичны, а во второй - различаться одним байтом где-нибудь в середине. Интересно, что он скажет на это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 16:16 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Сергей ИльичНасколько показывает опыт, смотреть на размер файла и на Modification date - не достаточно надежный способ. CRC32 не подходит - размеры у меня по несколько гигабайт. Спускаться вниз - сначала смотреть размер, а потом если он не совпадает проверять CRC32 тоже не подходит - в 90 процентах случаев файлы идентичны. Я заметил, что FAR очень ловко проверяет это дело (по комманде сравнить директории). Ни у кого нет ноу - хау? Фар не сравнивает содержимое файлов. При сравнении учитывается только дата/время файла и его размер. Вот и все ноу - хау:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 18:05 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
homichus Фар не сравнивает содержимое файлов. При сравнении учитывается только дата/время файла и его размер. Вот и все ноу - хау:) и имя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 18:06 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
не по теме, т.е. по поводу сравнения: В любом случае, если даже использовать CRC и считать его во время проверки, время будет больше чем при прямом сравнении. Ведь что бы его посчитать, нужно весь файл прочитать. Хотя метод с CRC может несколько ускориться за счет торможения железа при одновременном считывании двух файлов. Еще можно хранить на винте в отдельном файле рассчитанные значения CRC, при этом при сравнении нужно будет считать CRC только одного файла. А тут можно уже придумать очень много всего. Но все равно, если не привязываться к структуре файла, все сводится полному считыванию сравниваемых файлов и сравнению их каким-либо способом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 18:17 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Сергей ИльичУсложнять их процедуры я не хочу - они должны как и раньше FAR'ом копировать текущий snapshop на жесткий диск курьера и все. Чем делаются твои snapshot? Возможно кроме даты модификации надо еще сравнивать даты создания и даты доступа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 19:15 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Сергею Ильичу. Для традиционной ФС - ИМХО нету способа быстро проверить идентичность двух файлов. Могу лишь предложить поставить каталог с подозрительными файлами на NTFS-мониторинг и отслеживать события write . Так работают многие антивирусы. Ловкость ФАРА при сравнении папок - скорее всего надувательство. Либо неполноценная проверка. Импользуйте специальный плагин для глубокой проверки. Где-то на горизонте маячит Windows Vista с анонсированной файловой системой WinFS . Надеюсь что в новую ФС будет включен механизм версионности файлов (наподобие Transactions Identifiers в базах данных). В этом случае для сличения файлов достаточно будет проверить два целых числа. Всем Забыл поздравить скру листов и скру листок с НГ. Спешу реабилитироваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 10:01 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Для справки, фраза из хелпа Far насчет Compare folders: Files are compared only by name, size and time, and file contents have no effect on the operation. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 11:16 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Borya7Для справки, фраза из хелпа Far насчет Compare folders: Files are compared only by name, size and time, and file contents have no effect on the operation. Тогда это мистика какая-то. Я сравнивал размер, Creation Time и Modification time на неравенство. Тем не менее, моя проверка периодически обламывалась на е*учем файле goroscop.avi, который должен обновляться раз в неделю. При прибытии на место и сравнивании папок с goroscop.avi FAR каким-то образом улавливал разницу. В итоге пришлось в снапшоты добавить файлы с подсказками. PS: Правда, это может быть саботаж со стороны курьеров, которые хотели побольше аккуратной работы руками с целью повышения окладов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 13:32 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Сергей ИльичТогда это мистика какая-то. Я сравнивал размер, Creation Time и Modification time на неравенство. Тем не менее, моя проверка периодически обламывалась Мистики не бывает. Ты уверен что ты правильно сравниваешь? Может где дату создания с датой модификации перепутал или читаешь их не совсем правильно. Потому что единственный способ для даты модификации остаться неизменной, это после изменения файла вручную сдвинуть ее на прежнее значение. Либо остановить часы на компе модифицировавшем файл :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 21:10 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Кароче произвел эксперимент над фаром. 1) создал два каталога к1 и к2 2) в к1 создал файл ф1 размером в 1байт содержимое '1' 3) ф1 скопировал в к2, отредактировал, содержимое '2' 4) сделал файлам идентичные атрибуты (время доступа, время мод, время созд) 5) Сравнил, и что в итоге - Каталоги идентичны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2006, 21:18 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
В NT-системах три времени создания, модификации и последнего доступа. Фар действительно проверяет только имя, размер и время модификации. Может, еще и атрибуты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 14:29 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Добавлю: я бы убирал у сравненных атрибут "архивный" и смотрел бы только его. При любой модификации файла он, по идее, дожен устанавливаться (для этого и был придуман). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 14:31 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
GradientДобавлю: я бы убирал у сравненных атрибут "архивный" и смотрел бы только его. При любой модификации файла он, по идее, дожен устанавливаться (для этого и был придуман). ИМХО ненадежно. Этот атрибут создавался для DOS и в скором времени будет похоронен без почестей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 22:43 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
Я тут подумал... дисковый контроллер подсчитывает функцию CRC32 для каждого сектора данных. Если сползти на о ЧЧЧ ень низкий уровень программирования, можно довольно шустро определять, изменялся ли сектор. Но это уже как горицца ... на любителя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2006, 08:31 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
maytonЯ тут подумал... дисковый контроллер подсчитывает функцию CRC32 для каждого сектора данных. Если сползти на о ЧЧЧ ень низкий уровень программирования, можно довольно шустро определять, изменялся ли сектор. Но это уже как горицца ... на любителя. 1) Сомневаюсь, что дисковые контроллеры в массе своей спообны отдавать CRC наружу. Даже не факт что они сами ее видят, она вполне может оставаться в пределах приемо-предатчика. 2) Предлагаете программировать на низком уровне все имеющиеся и будущие модели котроллеров? 3) CRC32 - не гарантия, что данные идентичны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2006, 08:53 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
miksoft 1) Сомневаюсь, что дисковые контроллеры в массе своей спообны отдавать CRC наружу. Даже не факт что они сами ее видят, она вполне может оставаться в пределах приемо-предатчика. Согласен. 2) Предлагаете программировать на низком уровне все имеющиеся и будущие модели котроллеров? Я просто хочу сказать, что если существует круг задач, где требуется знать контрольные суммы всех блоков данных, из которых состоит подконтрльная информация и если требования к перформансу достаточно высоки, то не грех и рассмотреть такую возможность на разных уровнях. В том числе и на уровне контроллера. К примеру СУБД Oracle позволяет хранить контрольные суммы для каждого блока данных (если включен соотв параметр в pfile), из которых состоит база. И это не параноидальная мера а необходимая. Кстати, насколько мне известно CRC32 вычислсяеется аппаратно для модемных протоколов (ZModem) и протоколов ЛВС семейства TCP/IP. 3) CRC32 - не гарантия, что данные идентичны. Согласен, коллега. Более того .. и MD5 и SHA не гарантируют идентичность сверяемых данных. Однако эти функции находят широкое применение в пиринговых сетях при поиске идентичных файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 10:55 |
|
||
|
Как максимально быстро ответить на вопрос - идентичны файлы или нет?
|
|||
|---|---|---|---|
|
#18+
maytonКстати, насколько мне известно CRC32 вычислсяеется аппаратно для модемных протоколов (ZModem) и протоколов ЛВС семейства TCP/IP. Для модемных протоколов КС вычисляются только на уровне протоколов V.** (точные номера не помню) и снаружи не доступны. Для TCP/IP КС вычисляется только в дорогих серверных сетевых адпатерах с так называемым "TCP/IP-акселератором". и MD5 и SHA не гарантируют идентичность сверяемых данных. Однако эти функции находят широкое применение в пиринговых сетях при поиске идентичных файлов. Точнее, для поиска похожих файлов. Для пиринговых сетей вероятность ошибки 2^-32 (для CRC32) вполне допустима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 11:19 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33522148&tid=2031981]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 527ms |

| 0 / 0 |
