Page 1 of 1
Compare by Content: Not Enough Memory
Posted: 2014-04-30, 12:45 UTC
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
Posted: 2014-04-30, 13:05 UTC
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.
Posted: 2014-04-30, 13:40 UTC
by sky66
Try to use TC 8.51 64bit,
I just compared two 8GB files, it will take some time, but still work fine.
Posted: 2014-04-30, 13:53 UTC
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.
Posted: 2014-05-01, 09:06 UTC
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.
Posted: 2014-05-01, 09:36 UTC
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.
Posted: 2014-05-01, 23:29 UTC
by Hacker
Posted: 2014-05-02, 09:03 UTC
by ghisler(Author)
Adding a user-defined file mapping limit should be easy, I will try it.