Page 1 of 2 12 LastLast
Results 1 to 10 of 15
  1. #1
    Join Date
    Jan 2017
    Posts
    5

    Default git difftool slow on Ubuntu 14.04.5

    I'm encountering delays of approximately 10-seconds when diffing multiple files. The first file comes up very quickly. After closing the first file, there is a 10-second delay before the second file diff is shown. This delay occurs for all subsequent files.

    Operating System: Ubuntu 14.04.5 LTS
    Kernel: Linux 3.13.0-105-generic
    Architecture: x86_64

    Beyond Compare 4.1.9 for Linux build 21719.

    $ git config --global --list
    alias.br=branch
    alias.ci=commit
    alias.co=checkout
    alias.st=status
    color.ui=auto
    core.autocrlf=input
    diff.tool=bc3
    difftool.bc3.trustexitcode=true
    difftool.prompt=false
    merge.tool=bc3
    mergetool.bc3.trustexitcode=true
    mergetool.prompt=false

    git version 2.11

  2. #2
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,886

    Default

    Hello,

    Thanks for the report. What kind of delay do you see if you create a test script file for your system that calls sequential bcompare processes, script.sh, with chmod +x:
    bcompare test1 test2
    bcompare test3 test4
    bcompare test5 test6

    There's an expected slight delay between closing and re-opening, but I suspect it is Git that is introducing the longer delay for you when calling sequential diffs. Would a --dir-diff work better for your current diff project? Remember to Follow Symbolic Links or use the git --no-symlinks option.

    http://stackoverflow.com/questions/3...with-sym-links
    Aaron P Scooter Software

  3. #3
    Join Date
    Jan 2017
    Posts
    5

    Default

    I created a script similar to what you requested. The files to be compared are on the local hard drive.

    bcompare foo.txt~ foo.txt
    bcompare foo.txt~ foo.txt

    Running this script shows the same behaviour -- a delay of about 10 seconds. I then modified the script to time each of the individual commands:

    time bcompare foo.txt~ foo.txt
    time bcompare foo.txt~ foo.txt

    I ran the script and attempted to exit the bcompare windows as soon as they became visible. The console logs look like this:

    $ sh -x /tmp/bc_test.sh
    + bcompare foo.txt~ foo.txt

    real 0m14.017s
    user 0m1.033s
    sys 0m0.195s
    + bcompare foo.txt~ foo.txt

    real 0m13.633s
    user 0m1.084s
    sys 0m0.177s




    Quote Originally Posted by Aaron View Post
    Hello,

    Thanks for the report. What kind of delay do you see if you create a test script file for your system that calls sequential bcompare processes, script.sh, with chmod +x:
    bcompare test1 test2
    bcompare test3 test4
    bcompare test5 test6

    There's an expected slight delay between closing and re-opening, but I suspect it is Git that is introducing the longer delay for you when calling sequential diffs. Would a --dir-diff work better for your current diff project? Remember to Follow Symbolic Links or use the git --no-symlinks option.

    http://stackoverflow.com/questions/3...with-sym-links

  4. #4
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,886

    Default

    Hello,

    If you create two sets of very simple, new temp.txt files on your desktop and attempt the diff there, do you see a difference in behavior?

    I should clarify that this is closer to the test scenario I ran in my Ubuntu 14 test vm, and I did not see the same delay after the first launch.
    Last edited by Aaron; 24-Jan-2017 at 03:34 PM.
    Aaron P Scooter Software

  5. #5
    Join Date
    Jan 2017
    Posts
    5

    Default

    Nope -- saw no difference whatsoever.

    I did run an strace. It appears that the parent bcompare process is waiting for children to finish. It sits in a wait() for a long time.

  6. #6
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,886

    Default

    I talked with a developer and we have a couple of hunches.

    Customized Fonts: do you have any extra fonts installed? We've seen a similar slowdown when a user had the Infinality modified freetype library installed. If you install qt4-qtconfig then launch with "qtconfig" does reverting to defaults and removing customized fonts help? They may need to be fully uninstalled, as all fonts are still loaded even if they aren't currently set.

    Web Panel: on the Home screen, if you close the bottom red pane (which accesses the web) and in the Tools menu -> Options, Tweaks section, disable Check for Updates, then restart your computer. Does this impact the start up time?
    Aaron P Scooter Software

  7. #7
    Join Date
    Jan 2017
    Posts
    5

    Default

    I installed qtconfig, but it doesn't show any customized fonts. I also reconfigured bcompare to disable the web panel and the check for updates. But this had no effect on the problem.

    I'd like to reiterate that the problem is not with the initial display of differences. When running bcompare from the command line, the side-by-side view comes up very fast and shows the proper differences. When I close the bcompare window, the window closes quickly. But it takes a very long time after the window disappears and when bcompare finally exits.

  8. #8
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    4,728

    Default

    Is your home directory on an internal disk or is it on a network location? Beyond Compare on Linux stores settings as XML in ~username/.config/bcompare/, it's possible there is a delay writing program settings.

    Are you physically present at the Ubuntu Linux machine, or are you accessing it remotely using an X-Window or VNC client?

    Are you using the default Unity desktop environment, or are you using an alternate desktop environment (KDE, XFCE, etc)?
    Chris K Scooter Software

  9. #9
    Join Date
    Jan 2017
    Posts
    5

    Default

    My home directory in on a internal SSD.
    $ sudo hdparm -Tt /dev/sda
    /dev/sda:
    Timing cached reads: 24354 MB in 2.00 seconds = 12203.12 MB/sec
    Timing buffered disk reads: 998 MB in 3.00 seconds = 332.22 MB/sec

    I'm physically present at the machine when running bcompare. I am using the default Unity desktop environment.

  10. #10
    Join Date
    Nov 2017
    Posts
    2

    Default

    Any update on this thread? I just updated to BC (4.2.3 for Linux build 22587) on Ubuntu 14.04.5 LTS. I am seeing the same ~10 second delay between subsequent file compares-- not the first file, but any following files. I've used BC3 extensively in the past, and did not have this experience. I've moved from Unity to Cinnamon, in case that is relevant.

Posting Permissions

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