Аватар для GOLD
124 / 37 / 6
Регистрация: 14.01.2012
Сообщений: 264

Быстрый способ сравнения файлов

12.02.2013, 12:40. Показов 4744. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На одном форуме прочел коммент пользователя:
самый лучший вариант - чтение файлов по кластерам и сравнения памяти
т.к. размер кластера кратен 4 то и скорость сравнения будет намного больше. А если еще и заюзать нормальные функции сравнения (MMX/SSE) то еще быстрее.
Скорость чтения файлов по кластерам почти такая же как и по одному байту.
За исключением того, что тут за раз ты считываешь 1 байт, а там 1 кластер (что в принципе 4096 килобайт часто )
А вообще самый лучший вариант вообще читать данные кратные размеру кластера, но не более чем кеш у винта. идеал 32768 и 65536 байта.
Как реализовать чтение по кластерам и сравнение в памяти?
Сравнение по байтам, по хэшу не устраивает.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2013, 12:40
Ответы с готовыми решениями:

Более быстрый вариант сравнения фотографий
Всем привет. Нужно сравнить на идентичность несколько сотен фотографий, чтобы убрать повторяющиеся(одинаковые). Посоветуйте, каким...

Быстрый способ добавления кода
Добрый день! Попался в руки вопрос (см. фото ниже). Как вы думаете, какой правильный ответ?

Быстрый способ ручного заполнения матрицы
Есть ли аналогичный, быстрый способ ручного заполнения матрицы в С# вот такому методу в С++ int a = { {2,8, 30, 5}, {-4,...

21
 Аватар для GOLD
124 / 37 / 6
Регистрация: 14.01.2012
Сообщений: 264
16.02.2013, 01:32  [ТС]
Студворк — интернет-сервис помощи студентам
Все я доволен, все работает как надо =)
Я ещё не прошел тему по unsafe и параметрам с *, да и с FileStream не очень дружу, потому такие нелепые вопросы возникают.
Спасибо за терпение =)

Добавлено через 4 часа 55 минут
Ещё один вопрос, я так понимаю что сравнение в данном методе идет только по первым 4 кб? Выходит проверка файлов не дает 100% результат? Или kolorotur Вы имеете ввиду что так как я записал проверяет только первые 4 кб и можно записать по другому , что бы проверяло полностью?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
16.02.2013, 10:36
Цитата Сообщение от Sleepy_Master Посмотреть сообщение
так понимаю что сравнение в данном методе идет только по первым 4 кб?
Сравнение в вашем методе идет по первым 4кб, потому что вы считываете и проверяете только первые 4кб.
Надо в цикле считывать весь файл по 4Кб и проверять до тех пор, пока не считается весь файл или не встретится первое несовпадение.

Мой же метод к файлам никакого отношения не имеет - он даже не знает о существовании каких-то файлов. Все, что он делает - это сравнивает два массива байт на соответствие элементов.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.02.2013, 10:36

Самый быстрый способ склеивания строк
Закешировал файл в строку, десериализовал данные в массив экземпляров специально созданного класса. Далее обработал данные, и пытаюсь опять...

Самый быстрый способ обрезать число по модулю
Здравствуйте, ищу самый быстрый способ обрезать число по модулю. Скажем, если лимит 50, то число должно быть не меньше и не больше 50.

Быстрый способ подсчитать количество строк, удовлетворяющих условию
Здравствуйте, подскажите пожалуйста быстрый способ подсчитать количество строк удовлетворяющих условию в очень большом текстовом файле....

Быстрый способ найти директорию стима и доты 2 на компьютере
Добрый день! Ищу быстрый способ найти директорию стима и доты 2 на компьютере. Есть идеи?

Самый быстрый способ получения первых двух элементов строки
Есть строки, где данные разделены табами (\t): слово1 слово2 слово3 слово4 слово1 слово2 слово3 слово4 слово1 слово2 слово3 слово4...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru