Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

При сравнении больших файлов не хватает памяти

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
selevo



Joined: 05 Jul 2009
Posts: 25

Post (Separately) Posted: Mon Sep 22, 2014 09:06    Post subject: При сравнении больших файлов не хватает памяти Reply with quote

как сравнить большие файлы ?
больше 2 GB
видимо командер исходя из размера оперативки файлы сравнивает
флехи тестирую на фейки
_________________
Планету превратим в цветущий сад!
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10261
Location: Россия, Саратов

Post (Separately) Posted: Mon Sep 22, 2014 10:07    Post subject: Reply with quote

selevo
Встроенным средством TC — никак. Как TC сравнивает файлы, сказано в справке. Искать внешний инструмент, умеющий работать с такими файлами, указывать его ключом Comparetool и работать в TC с внешним инструментом вместо встроенного (опять же см. справку и материалы форума).
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
selevo



Joined: 05 Jul 2009
Posts: 25

Post (Separately) Posted: Mon Sep 22, 2014 10:15    Post subject: Reply with quote

хм,а в справке про ограничения по объёмы ничего не сказано...
_________________
Планету превратим в цветущий сад!
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10261
Location: Россия, Саратов

Post (Separately) Posted: Mon Sep 22, 2014 10:37    Post subject: Reply with quote

selevo
В справке сказано, как технически выполняется сравнение и как вместо внутреннего инструмента назначить внешний. А то, что с большими файлами есть проблемы, давно и хорошо известно на практике без всякой справки. В нашей с CaptainFlint книге про TC, например, это отражено.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10261
Location: Россия, Саратов

Post (Separately) Posted: Tue Sep 23, 2014 19:36    Post subject: Reply with quote

Тут CaptainFlint подсказвал на ру-борде, что 64-битная версия TC с этими проблемами справляется. Да, я проверил. Хотя, разумеется, и там есть пределы. Попытка ради интереса сравнить по содержимому два файла по 4 гигабайта с хвостиком при 8 гигабайтах оперативки закончилась капитальным зависанием компа...
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Wed Sep 24, 2014 02:16    Post subject: Reply with quote

Поскольку selevo упоминал об ограничениях по оперативке, я сделал вывод, что у него 4 гигабайта или меньше, поэтому не стал здесь об этом говорить (а на ру-борде шла речь о 16 Гб). Если физической памяти недостаточно, то 64-битная версия никак не поможет. Всё, что она может дать — это возможность использования всего объёма памяти, тогда как 32-битный процесс может взять лишь от 2 до 4 гигабайт (в зависимости от битности операционки и загрузочных опций).

Avada
Надо учитывать, что из-за полного маппинга файлов в память два файла по 4 с хвостиком гига как раз и займут все 8 гигабайт, и ещё попросят. А надо же ещё оставить место и для хранения собственно результатов сравнения, и для прочих функций Тотала, не говоря уж о самой Windows и других запущенных приложениях. Скорее всего, у тебя начался адский своппинг, когда чуть ли не каждую страницу памяти непрерывно швыряет то на диск, то с диска (включая даже страницы памяти системных сервисов). Разумеется, результат несильно отличается от зависания, хотя, теоретически, можно дождаться реакции на пользовательские действия и развесить комп без резета. Хорошая тренировка терпению и постижению вселенской гармонии. Smile
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10261
Location: Россия, Саратов

Post (Separately) Posted: Wed Sep 24, 2014 07:20    Post subject: Reply with quote

CaptainFlint
Эксперимент сознательно выполнялся на грани фола, с предвидимыми результатами. Smile
Но тут дело ещё вот в чём. В 64-битном TC даже в экстремальной ситуации не выводится сообщение о нехватке памяти, инструмент честно пытается работать, а результаты (что удастся сравнить, а что нет) хотя бы в первом приближении прогнозируются. Когда в 32-битном TC при доступных 4 гигабайтах памяти инструмент сравнения для файлов примерно по 700 мегабайт сразу же выбрасывает белый флаг — это уже менее понятно, и является ли такое поведение багом или (с точки зрения Гислера) фичей — вопрос интересный.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Wed Sep 24, 2014 13:52    Post subject: Reply with quote

Avada
Мне как технарю сложно судить, как это должно трактоваться. Поскольку это системная особенность, а не проблема конкретно Тотала, то для меня такое поведение выглядит вполне нормально. Пользователям, незнакомым с ограничениями 32-битных процессов, это может показаться неочевидным, но даже если так, непонятно, что Тотал может тут сделать. AWE не предлагать. Smile
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Thu Oct 02, 2014 12:59    Post subject: Reply with quote

А если пользователю достаточно знать, что файлы отличаются. Ему без разницы, где есть изменения. При этом ведь не нужна оперативка. Сравнивай кусками да скажи, что файлы отличаются.

Кстати, хорошо бы вообще прямо при проверке показывать, что файлы разные, а то приходится ждать окончания проверки. Давно уже в голове это предложение висит Smile
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Thu Oct 02, 2014 13:19    Post subject: Reply with quote

Моторокер wrote:
Сравнивай кусками да скажи, что файлы отличаются.

Зачем? Есть же контрольные суммы.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1168
Location: Донецк

Post (Separately) Posted: Thu Oct 02, 2014 15:21    Post subject: Reply with quote

Skif_off wrote:
Моторокер wrote:
Сравнивай кусками да скажи, что файлы отличаются.

Зачем? Есть же контрольные суммы.

Для универсальности.
Сейчас что получается.... Пользователь должен сам вначале прикинуть размер файлов, прикинуть размер оперативной памяти, а потом уже решить - сравнивать файлы инструментом сравнения или высчитывать для каждого по отдельности контрольные суммы и сравнивать их...
Логичней было бы просто выделить файлы и ткнуть кнопочку сравнения по содержимому. А уж инструмент сравнения уже или выводил отличия или считал контрольные суммы.
_________________
Win11 x64 Eng | TC DreamLair eternal pre-α
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group