Improve performance of 'hg felog' command used for indexing of Mercurial repositories

XMLWordPrintable

      In case of large commits (about 40MB of 'hg felog' output), performance of 'hg felog' command (which is a custom plugin for Mercurial, shipped with Fisheye) can be one magnitude slower than built-in 'hg log' + 'hg diff' commands. As a result, repository indexing is slow.

      Example results:

      Script:

      REPO=<repository name>
      HASH=<commit hash>
      FISHEYE_DIR=<installation dir>
      
      cd $FISHEYE_INST/var/cache/$REPO/clone
      
      for I in {1..10}; do
          echo "Execution #$I"
      
          echo "Running hg felog ..."
          time /usr/bin/hg --config extensions.felog=$FISHEYE_DIR/python/hg/hgfelog/hgfelog.py --config ui.verbose=false felog $HASH -p -m 1>/dev/null
      
          echo "Running hg log ..."    
          time hg log -v -r $HASH 1>/dev/null
      
          echo "Running hg diff ..."
          time hg diff --git -c $HASH 1>/dev/null
      
      done > hg-timings.log 2>&1 
      

      Expected:

      Improve performance of 'felog' to reach speed similar to original Mercurial commands.

        1. hg-felog-hg-log-hg-diff.png
          17 kB
          Marek Parfianowicz

            Assignee:
            Marek Parfianowicz
            Reporter:
            Marek Parfianowicz
            Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: