1. TortoiseHg
  2. TortoiseHg
  3. thg
Issue #1734 resolved

Configuring an Issue Tracker slows down the creation of the commit widget significantly

Angel Ezquerra
created an issue

When an issue tracker is configured, the creation of the commit widget takes significantly longer than usual because TortoiseHg creates the COM object that talks to the Issue Tracker plugin in the Commit Widget constructor.

This can take a significant amount of time, even on a pretty powerful machine (e.g. loading the JiraSVN plugin takes more than 0.4 seconds on a modern PC with a quad-core CPU, 8 GByte of RAM and an SSD hard drive). I've seen older machines take several seconds to create the commit widget because of this. Creating the COM object "freezes" the TortoiseHg workbench GUI.

Since this must be done for every repository, the effect is a significant slowdown of the TortoiseHg workbench.

Comments (1)

  1. Steve Borho

    commit, bugtraq: delay the bugtraq button setup to speed up the commit widget creation (closes #1734)

    Creating the bugtraq button on the Commit widget takes time because we must create an IBugTraqProvider2 COM object. On a pretty powerful machine takes 0.4 seconds or less (and it can take several seconds on a less powerful machine).

    The solution is to create a "disabled" placeholder button, and setup the button (with the corresonding COM object creation) after the commit widget has been created (100 ms), at which point the button can be enabled.

    The result is that the commit widget is created as fast as if no issue tracker was configured.

    dca424626920

  2. Log in to comment