Страница 1 из 2
Сравнение файлов
Добавлено: Вс июн 10, 2007 23:14
Стас Агарков
Когда я сравниваю два больших, например по 50 Мб, файла (не текстовых), то отображается модальное окно с прогресс-баром. Два файла по 50 Мб - это 100 Мб. Обычно такой объем можно считать за максимум 5-7 секунд. При сравнении же процесс идет гораздо больше, около 15-20 секунд. Можно это как-то ускорить? Может быть размер буфера для операций сравнения где-то можно указать?
Добавлено: Вс июн 10, 2007 23:40
D1P
Обычно такой объем можно считать за максимум 5-7 секунд. При сравнении же процесс идет гораздо больше, около 15-20 секунд.
Гм. Я вообще практически не вижу никакого прогресс-бара. Вернее, вижу, но оно мелькает, исчезая практически мнгновенно. Открывал файлы размером до 500 Мб.
Да и учитывая, что сравнение производится после нажатия кнопки "Сравнить", вряд ли TC читает файл сразу. Может быть ты сравниваешь файлы в архиве? Или на внешних носителях?
Добавлено: Вс июн 10, 2007 23:42
KoA
Есть мысль, что причина мб из-за того, что файлы находятся на одном физич. диске из-за одновременного чтения обоих файлов. Если есть возможность, попробуй сравнить файлы находящиеся на разных физич. дисках.
Добавлено: Вс июн 10, 2007 23:47
Стас Агарков
Да, файлы на одном физическом диске, но на разных логических и довольно далеко друг от друга - один в начале, второй - далеко в конце и во время сравнения слышно активное пеермещение головок. Т.е. я предполагаю, что он просто блоки маленькие читает и часто от одного файла переходит к другому. Для файлов, которые одинаковы или отличаются только к концу это сильно замедляет сравнение.
Гм. Я вообще практически не вижу никакого прогресс-бара. Вернее, вижу, но оно мелькает, исчезая практически мнгновенно. Открывал файлы размером до 500 Мб.
А если эти файлы одинаковы? Он ведь их все должен считать от начала и до конца, чтобы в этом удостоверится.
Сравнивал обычные файлы, не в архиве.
Добавлено: Пн июн 11, 2007 01:06
D1P
А если эти файлы одинаковы? Он ведь их все должен считать от начала и до конца, чтобы в этом удостоверится.
Сравнивал обычные файлы, не в архиве.
Бррр... так ведь сравнение производится не при вызове инструмента, а при нажатии соответствующей кнопке в инструменте. Или я не прав (сравнением пользуюсь очень редко, могу не знать какую-нить опцию...)?
TC 7.0.
Добавлено: Пн июн 11, 2007 01:15
Стас Агарков
Сравниваю пунктом меню сравнить по содержимому, клавишами Alt+C. При этом вызывается команда cm_CompareFilesByContent.
Добавлено: Пн июн 11, 2007 01:24
D1P
Сравниваю пунктом меню сравнить по содержимому, клавишами Alt+C. При этом вызывается команда cm_CompareFilesByContent.
Аналогично.
Млин, стал экспериментировать - сравнение стало срабатывать сразу после вызова инструмента. Никаких опций не менял, TC не перегружал. Диалога с прогрессом всё равно не вижу. Фигня какая-то.
Добавлено: Пн июн 11, 2007 02:09
CaptainFlint
D1P писал(а):Млин, стал экспериментировать - сравнение стало срабатывать сразу после вызова инструмента.
Всегда так было.
D1P писал(а):Диалога с прогрессом всё равно не вижу. Фигня какая-то.
Ты, случаем, не внешним инструментом сравниваешь?

Добавлено: Пн июн 11, 2007 02:30
D1P
Ты, случаем, не внешним инструментом сравниваешь?
Точно нет. Ка я уже сказал - сравнением пользуюсь очень редко, и возможностей стандартного инструмента мне хватает более чем...
Тем не менее, готов поклясться на Коране/Библии/Талмуде/Левой груди Анжелины Джоли что в начале экспериментов сравнение не срабатывало, пока я не нажимал соответствующую кнопку.
Кстати, есть три замечания по инструменту сравнения TC:
1) Сразу после начала сравнения он подвисает и перестаёт рефрешить окно, плюс не меняет курсор на "часики". Иногда через некоторое время курсор меняется, но "подвисание" практически всегда остаётся до выдачи результатов. Основное окно TC в этот момент, по идее, должно быть доступно, но оно тоже "подвисает". Закрытие "подвисшего" сравнения приводит к "убийству" TC. Скриншот:
http://super.wincmd.ru/_tmp/visit.png
2) Если в процессе "зависшего" сравнивания переключиться на TC, а потом снова нажать Alt+Tab, видно две иконки инструмента сравнения.
3) Хотелось бы, чтобы даблклик на сплиттере в инструменте сравнения работал так же, как и в основном окне TC.
Добавлено: Пн июн 11, 2007 13:11
Стас Агарков
Я наверное как-то неправильно выразился... Имел ввиду прогресс-бар, который появляется. если файлы идентичны или отличаются самыми последними несколькими байтами.
А если эти файлы одинаковы? Он ведь их все должен считать от начала и до конца, чтобы в этом удостоверится.
Вот пока это чтение идет и показывается прогресс-бар и сравнение идет довольно долго, т.е. я бы попробовал увеличить размер буфера для инструмента сравнения, но только не знаю можно ли и если можно, то где.
Добавлено: Пн июн 11, 2007 13:17
CaptainFlint
Стас Агарков
В общем, проблему подтверждаю. На разных дисках два идентичных 50-меговых файла у меня сравнились за 2 секунды, на одном разделе - 14 секунд. Как найду время, надо будет поискать, что-то такое уже обсуждалось на форумах...
D1P
Основная проблема у тебя одна - подвисание. Все остальные напрямую следуют из неё, это уже обычное поведение виндов. Откуда берётся само подвисание - неясно. У меня окно полностью отображается, хотя, разумеется, система сильно загружена и откликается с трудом.
Дабл-клик уже предлагали, не помню, чем дело кончилось. Надо будет поднять соответствующую ветку.
Добавлено: Вт июн 19, 2007 20:29
iNSiDE
D1P писал(а):Ты, случаем, не внешним инструментом сравниваешь?
Тем не менее, готов поклясться на Коране/Библии/Талмуде/Левой груди Анжелины Джоли что в начале экспериментов сравнение не срабатывало, пока я не нажимал соответствующую кнопку.
Сий глюк потверждаю, встречал, когда то еще на кандидатах. Конечно же, закономерность я не отловил

Добавлено: Вт июн 19, 2007 21:05
CaptainFlint
Обсуждение внешних программ вынесено в отдельную ветку:
Поиск удобной программы для сравнения файлов
Добавлено: Ср июн 20, 2007 22:57
Ник
Скажите, плз, можно ли в "родном" окне сравнения файлов в ТК включить режим переноса длинных строк - чтобы они не уходили за экран - или нет?
Добавлено: Чт июн 21, 2007 00:54
CaptainFlint
Ник
Нет.