Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/22: Рейтинг темы: голосов - 22, средняя оценка - 4.77
 Аватар для GOLD
124 / 37 / 6
Регистрация: 14.01.2012
Сообщений: 264

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

12.02.2013, 12:40. Показов 4742. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
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 и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru