1. TortoiseHg
  2. TortoiseHg
  3. thg
  4. Issues
Issue #470 open

Workbench: slow working directory selection

created an issue

Working directory selection takes significant amount of time (size of .hg is about 362М), but does't update state. I need to select "refresh current repository" to see actual "woring directory" state (which takes equal amount of time). So, it must refresh state of selects immediately.

Comments (11)

  1. Steve Borho
    • changed status to open

    The size of the repository isn't near as important as the number of files in the working copy and the latency of access to the working copy. Is the repository on a local disk?

  2. WickedCode reporter

    Repository is on local disk. The main problem is not a speed. Speed is normal if status (changed files list) updates every time when i select "working directory", but It updates only first time. So, every time i select "working directory" workbench freeze for some seconds, but really update status only first time. For more clarification. Workbench running. I select "working directory" and see the local changes. Switch to early revision and again observe the changes. After that i change another file, go to workbench and switch to local changes again. My last changes is not in list, but workbench freeze on selection. I think it scan directory for changes, but don't update local changes list.

  3. Steve Borho

    It only performs a scan automatically when it is first created; aka the first time you expose the commit tab. Subsequent switches should be immediate since it does not scan until you hit the refresh button.

    Is this freeze on switching reproducible on other repositories or on other machines?

  4. WickedCode reporter

    I try it on two different machines with same result (different repsitories, but all rather big). It's not reproduced with tiny repo (i specialy created for test), but i can't check on medium size repo, because i don't have one. My all repos contains more than 5000 files and more than 100 folder (first one tested have 29 103 Files, 2 711 Folders). After more testing it seems the first time selection some time is much longer than second, but second is not immediate and takes about 2-3 seconds on Intel Xeon X3470 @ 2.93GHz, 4 Cores, 8 Logical Processors, 8GB RAM.

    P.S. i don't think it's a serious bug, but i feel discomfort, because i like a scenario in which i don't close workbench after every commit.

  5. Anonymous

    Maybe it's not the size of the repository that matters but the file selected in the revision details when clicking to your working directory. If this file has a lot of delta's it's very slow to navigate between revisions.

    For example: I have a resources.properties file with over 11000 lines. For some reason the workbench always fails to show the correct delta and shows all lines. This takes over 5 seconds on my machine. When navigating to other revisions that have a file selected with a normal delta (only 10-20 lines) there is no noticable delay.

  6. iarwain

    I witness the same problem. In my case the repository is 6.15GB for ~90k files/1800 revs and is stored on a SSD. The files are mostly source code but there are a few compiled binaries as well. Every time I select the working directory in the workbench, thg will freeze for about 8 seconds and the file list in the commit view won't be refreshed. Not sure if that would matter, but I'm using Perfarce to interface with the main repository which is on P4.

  7. Log in to comment