Announcement

Collapse
No announcement yet.

Why are file compares so much slower in BC3?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aaron
    replied
    Could we get a pair of files sent to support@scootersoftware.com and your BCSettings (Help menu -> Support; Export)?

    Leave a comment:


  • kjsmithtx
    replied
    I just downloaded 463 and still have very slow compare of large text file (approx 3 mins for 7.5MB)

    Leave a comment:


  • ZoŽ
    replied
    There will be a new release early next week with this fixed.

    Leave a comment:


  • ron
    replied
    Originally posted by Xtraeme View Post
    @ron ... clicking on the referree in BC3 I don't see any tabs labelled session or comparison. The popup box is called Session Settings, but the tabs are simply:

    Specs, Format, Importance, Alignment, and Replacements.
    I forgot to specify that I was in the folder view when clicking on the ref. But it seems you've come up with a good test case and a fix is coming soon - nice.

    Leave a comment:


  • Xtraeme
    replied
    Out of curiosity when can we expect an update?

    Leave a comment:


  • Xtraeme
    replied
    Awesome - thanks Craig . I had to revert back to BC2 and that was kind of annoying me.

    Leave a comment:


  • ZoŽ
    replied
    Looks like we messed something up in the latest build. I can reproduce what you're seeing here and it doesn't occur in 461. Should be easy to fix.

    Leave a comment:


  • Xtraeme
    replied
    I like the no file lock. In the past I just wanted to have two version of BC2 open. One diffing file a.txt and file b.txt. Then another window diffing b.txt and c.txt. Then my plan between the two was to make a modification to b.txt in the first and then alt+tab over to the other, import the changes, and make additional edits based off that diff.

    3-way merge in some scenarios is overkill not to mention it's hard to line things up properly when diffing 3 ways. It's much easier to do manual aligns with two text windows.

    That said it should really be an option. I've had scenarios where I've had to diff very large logs (several hundred megs) and I had no plans whatsoever to edit those files. So I'd have no need for the backup. In that scenario the right thing to do is load them in as memory mapped files, store the differences in memory (or if necessary dump them to disk somewhere), and then call out to the original file to get the original text.

    Leave a comment:


  • ZoŽ
    replied
    Oh, BTW, the temp file is used when the file is large enough that we don't keep it all in memory (I think 16K lines). In BC2 we just kept the original file locked while it was open in the viewer; in BC3 we make a copy of the original file and keep it locked instead. I think it's also used for undo-after-save support.

    Leave a comment:


  • Xtraeme
    replied
    Craig, it's not specific to any one file, it's based simply on file size. For instance I just downloaded a copy of The World English Bible (http://www.gutenberg.org/dirs/etext05/web6710.txt), (it's ~4MBs) and made an edit at the 25%, 50%, and 75% mark. It took 1m 30s to complete the diff in BC3 while in BC2 it took less than 2 seconds.

    Leave a comment:


  • ZoŽ
    replied
    Xtraeme,

    When you say you have a large vcproj, you're referring specifically to a single .vcproj file that you're comparing in the text compare, aren't you? Is there any chance you can send it to support@scootersoftware.com so we can compare it ourselves?

    Leave a comment:


  • Xtraeme
    replied
    @ron ... clicking on the referree in BC3 I don't see any tabs labelled session or comparison. The popup box is called Session Settings, but the tabs are simply:

    Specs, Format, Importance, Alignment, and Replacements.

    In BC2 the closest thing I can find is Ref->File Comparison Rules->General which allows me to see Tabs and Spaces, maximum line length, character set, important / unimportant text, alignment, conversion, etc.

    The values between BC3 and BC2 are pretty much identical.

    Leave a comment:


  • ron
    replied
    Well, there is a difference but I'm not seeing the same magnitude you are.

    Comparing different releases of my VC projects consisting of 14.4Mb in 878 *.cpp;*.hpp;*.c;*.h files and using Rules Based Comparison...

    BC2 is right at 5 (1001, 1002 method) seconds and BC3 = "Successfully compared 878 items. Completed in 15.63 seconds."

    So technically it is 3 times slower - on my machine.

    I ran each test multiple times to help reduce the impact of caching on the results.

    Leave a comment:


  • ron
    replied
    In BC3, check the Comparison tab on the Session Settings dialog.

    Compare that to Session/Comparison Control/General in BC2.

    Leave a comment:


  • Xtraeme
    replied
    Running ProcMon it looks like BC3 is reading in the temp file from %USERPROFILE%\local settings\temp in 16K chunks, diffing, and then calling back out to disk.

    What's the point of this tmp file? In BC2 it just used the left and right files and did in an in-memory compare.

    Leave a comment:

Working...
X