Compare by Content: Not Enough Memory

Here you can propose new features, make suggestions etc.

Moderators: Hacker, petermad, Stefan2, white

Post Reply
billiebub
Member
Member
Posts: 187
Joined: 2011-04-12, 19:49 UTC

Compare by Content: Not Enough Memory

Post by *billiebub »

this may have been mentioned before but compare large files (> 1GB) seem to give a "not enough memory" error. I suppose TC does the comparison before displaying the files by allocating enough buffers to hold the files. There is got to be a better way of doing it than this way. Take for example VBinDiff which handles up to 4GB file sizes. It doesn't not do the comparison before displaying the files but rather in a more dynamic way.

Image: http://s21.postimg.org/nisv860zb/Clipboard01.jpg
User avatar
Horst.Epp
Power Member
Power Member
Posts: 7014
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

As you said "this has been mentioned before"
So use the search feature and don't start the same discussion again.
You can also configure an external compare tool in TC if you like.
Last edited by Horst.Epp on 2014-04-30, 13:43 UTC, edited 1 time in total.
sky66
Member
Member
Posts: 176
Joined: 2014-02-22, 08:44 UTC

Post by *sky66 »

Try to use TC 8.51 64bit,
I just compared two 8GB files, it will take some time, but still work fine.
billiebub
Member
Member
Posts: 187
Joined: 2011-04-12, 19:49 UTC

Post by *billiebub »

Horst.Epp wrote:As you said "this has been mentioned before"
So use the search feature and don't start the same discussion again.
You can also configure an external compare tool in TC if you like.
already using VBinDiff. Nevertheless, TC 32-bit should handle up to 4GB file sizes. Switching to 64-bit will work but that's not the solution when working on 32-bit systems.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50873
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

TC uses file mapping to map the files into memory. You cannot expect to compare up to 4GB files this way because the entire address space is 4GB, and only 2GB is available to programs. Furthermore, that address space is also used for the program, dlls, and data, and may already be fragmented. I considered to map only parts of the file into memory, but this would make the compare function a lot more complex and much slower.
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

ghisler,
You can add an option to set desired map size, and then try to use these values or decreased ones (e.g. halfs of previous sizes) in a loop until success. So if it is impossible to open two 512 MB maps, you try to open two 256 MB ones, then two 128 MB ones etc.
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Perhaps of interest - AutoHotkey: Simple file compare.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50873
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Adding a user-defined file mapping limit should be easy, I will try it.
Author of Total Commander
https://www.ghisler.com
Post Reply