metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-11-25 06:07 am

diff на больших файлах, кэширование файлов и память

Запустил сравнение Araxis Merge на двух 100 мб файлах, он выжрал гиг памяти и сидит в нее долбится.
В связи с этим вспоминается, что [livejournal.com profile] vitus_wagner постоянно ругается на тему "раньше обрабатывали под досом файлы в 100 раз больше чем объем памяти, а сейчас разучились".
И статья, которую кто-то недавно постил на тему кэширования файлов и свопа в винде, где написано, что делать собственные кэши, чтение файла по кускам и вообще выпендриваться алгоритмами давно не модно, т.к. винда лучше знает как ей это делать, особенно с мемори-маппед файлами.
А у Firebird так и вообще есть параметр "использовать ли кэш операционки", пороговый - задано количество страниц, если база меньше чем это количество - то используется, если больше - то нет. Не совсем понятно обоснование для наличия такого параметра и более того - указание его в страницах (которые могут иметь разные размеры у разных баз), а не в абсолютных значениях.

[identity profile] plumqqz.livejournal.com 2010-11-25 06:53 am (UTC)(link)
Дифф имеет полиномиальную зависимость от длины входа, если не ошибаюсь. Так что увы...

[identity profile] xeno-by.livejournal.com 2010-11-25 07:03 am (UTC)(link)
И статья, которую кто-то недавно постил на тему кэширования файлов и свопа в винде
http://habrahabr.ru/blogs/windows7/107605/

[identity profile] vp.livejournal.com 2010-11-25 07:09 am (UTC)(link)
Да надо просто тестировать то, что пишут. Неужели нельзя было проверить типичные случаи?

[identity profile] 184467440737095.livejournal.com 2010-11-25 07:11 am (UTC)(link)
память дешевая, а геморрой дорогой.

[identity profile] unstablebear.livejournal.com 2010-11-25 08:17 am (UTC)(link)
Я kdiff3 юзаю для таких целей. Проверил на двух файлах по 100мб(примерно по 150 тыс. строк), работал минут 10. Выжрал в пике 760мб памяти. Не издох. Скачать можно отсюда http://sourceforge.net/projects/kdiff3/files/ .

[identity profile] metabr.livejournal.com 2010-11-25 08:44 am (UTC)(link)
Кульные прожки.

[identity profile] volodymir-k.livejournal.com 2010-11-25 09:56 am (UTC)(link)
> vitus_wagner постоянно ругается на тему "раньше обрабатывали под досом файлы в 100 раз больше чем объем памяти, а сейчас разучились".

Ёпт, а чем сей гений занимается? Сертификатами? А он пробовал скорость работы своих прог на сертификатах с именем в 100 Мб символов? Нет? В Бобруйск, жывотное! У меня имя в 100Мб длиной!
А вдруг хакер сделает в имени опечатку!

> Запустил сравнение Araxis Merge на двух 100 мб файлах, он выжрал гиг памяти

Как бэ крутые джежаи в таких случаях молча пишут на коленке свой дифф для 100 Мб.

[identity profile] ynot.livejournal.com 2010-11-25 10:52 am (UTC)(link)
дадад. Араксис специфичен, ему и три гига отожрать для 64б-версии не предел (на 250м, что ли, файлах)