Page 1 of 2 12 LastLast
Results 1 to 10 of 20
  1. #1
    Join Date
    May 2008
    Posts
    34

    Question Why are file compares so much slower in BC3?

    I have a rather large vcproj (2.2 MBs) that I'm diffing and in BC2 it goes from beginning to end in less than 3 to 5s. But in BC3 (build 462) it takes on average 1m 55s! I'm not doing anything special to the file - it's diffing with <default>.

    What gives?

  2. #2
    Join Date
    Dec 2007
    Posts
    123

    Default

    Check your session rule settings (the referee on the toolbar), sounds like one's doing a compare contents and the other isn't.

  3. #3
    Join Date
    Apr 2008
    Location
    Phoenix, AZ
    Posts
    31

    Default

    What version of BC3 did you download? From the download page:
    The Full Debug build includes additional debug code to help us track down obscure crashes and memory leaks. It is noticably slower than the regular release, and never frees memory, so if you let it run long enough it will run out of memory. The Optimized build uses the final release configuration. You can use it for more precise performance measurements, but we prefer that you use one of the debug builds in general.
    So, if you are running "Full Debug", you may want to try "Normal Debug". If you are running "Normal Debug", you can try "Optimized".

    Jim

  4. #4
    Join Date
    May 2008
    Posts
    34

    Default

    @Ron,

    Looking in Specs, Format, Importance, Alignment and Replacements I see nothing out of the ordinary. Is there something in particular I should be looking for?

    And for the record I just set the Alignment->Standard Method to a skew tolerance of 800 (all the way to the left at 'Fast and Coarse') and that's taking 1m 45s.
    Last edited by Xtraeme; 16-Jul-2008 at 02:17 PM.

  5. #5
    Join Date
    May 2008
    Posts
    34

    Default

    Good theory Jim, but even with the optimized 462 build it still takes on average 1m 53s.

    Something's very wrong...

  6. #6
    Join Date
    May 2008
    Posts
    34

    Default

    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.

  7. #7
    Join Date
    Dec 2007
    Posts
    123

    Default

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

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

  8. #8
    Join Date
    Dec 2007
    Posts
    123

    Default

    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.

  9. #9
    Join Date
    May 2008
    Posts
    34

    Default

    @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.

  10. #10
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    2,503

    Default

    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?
    ZoŽ P Scooter Software

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •