winmerge icon indicating copy to clipboard operation
winmerge copied to clipboard

WinMerge stops responding when preparing to generate a large report

Open tomwjaw opened this issue 3 years ago • 6 comments

After comparison was finished (291,990 items selected) I try to generate a report, but WinMerge just hangs, does not bring up the Report dialog, runs CPU at a very high rate continually with used memory jumping around in a range form ~390 to ~450 Megabytes. Waited for over 2 hours and still no report dialog. It took all night (over 9 hours) to do the compare and now I will loose all that work as will have to kill the APP. Using Windows 10 WinMerge 2.14.0.0 Unicode

tomwjaw avatar Jul 12 '22 01:07 tomwjaw

I have not yet been able to reproduce this problem, but perhaps you are using an older 32-bit version of WinMerge 2.14.0, which may be causing your memory usage to exceed the 2GB limit. Could you try the latest 2.16.20 64bit version?

https://winmerge.org/downloads/?lang=en

sdottaka avatar Jul 12 '22 15:07 sdottaka

Just tried with the new version and it indeed is fixed, however the same compare of ~300000 files that took 9 hours in the 2.14.0.0 version in the current 2.16.20.0 version took 20 hours, so the compare function speed has gotten worse significantly. In 2.14.0.0 I used quick content compare, while in 2.16.20.0 I used binary compare, which is documented as being even faster than the quick content compare.

tomwjaw avatar Jul 13 '22 01:07 tomwjaw

It certainly seems slow compared to 2.14.0. I will look into that later.

sdottaka avatar Jul 13 '22 14:07 sdottaka

When I tried, the 2.16.20 Binary Contents compare method was slower than the 2.14.0 QuickContents compare method. However, the cause was that they were comparing folders with the same path. When comparing folders with the same path, there was an optimization to reduce the number of open files, which was effective.

When comparing different folder paths, the Binary Contents compare method of 2.16.20 can be compared more than twice as fast as below.

image image

sdottaka avatar Jul 16 '22 01:07 sdottaka

What does that mean? I was comparing 2 different paths, they were both on the same external USB drive, but they were different paths.

tomwjaw avatar Jul 16 '22 13:07 tomwjaw

So far I have not been able to reproduce the problem that the 2.16.20 Binary contents compare method is slower than the 2.14.0 Quick contents compare method.

sdottaka avatar Jul 16 '22 23:07 sdottaka