hg log with files is very slow
Brian Wallis
brian.wallis at infomedix.com.au
Thu Jul 3 23:25:45 CDT 2008
The mercurial eclipse plugin uses the attached style file to gather
the revision details about the files in a repository.
hg log --debug --style /path/to/style/log_style_with_files /path/to/
repo/root
In a large repository this can take a very long time to execute (6
minutes in a 800M repo that has 6000-8000 files in a typical workspace
checkout)
I ran truss on the above command and can see that the log command is
continuously opening, seeking, reading and closing 00changelog.d and
00manifest.d.
These are not large files in our large repository:
2% ls -l /Users/bwallis/InfoMedix/Hg-Infomedix/.hg/store/
total 31288
-rw-r--r-- 1 bwallis bwallis 1067452 Jul 4 12:19 00changelog.d
-rw-r--r-- 1 bwallis bwallis 277120 Jul 4 12:19 00changelog.i
-rw-r--r-- 1 bwallis bwallis 14386898 Jul 4 12:19 00manifest.d
-rw-r--r-- 1 bwallis bwallis 277056 Jul 4 12:19 00manifest.i
drwxr-xr-x 16 bwallis bwallis 544 Jun 4 14:09 data
-rw-r--r-- 1 bwallis bwallis 2296 Jul 4 12:19 undo
Would it be very difficult to get mercurial to cache these files
rather than all the open/seek/read/close. I suspect that would improve
the performance somewhat.
In my particular case, open for 00manifest and 00changelog is called
3035 times.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: log_style_with_files
Type: application/octet-stream
Size: 262 bytes
Desc: not available
Url : http://selenic.com/pipermail/mercurial/attachments/20080704/f2e88280/attachment.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: log_style_with_files.tmpl
Type: application/octet-stream
Size: 296 bytes
Desc: not available
Url : http://selenic.com/pipermail/mercurial/attachments/20080704/f2e88280/attachment-0001.obj
-------------- next part --------------
Brian Wallis
InfoMedix
p: 3 8615 4553 | f: 3 8615 4501 | e: brian.wallis at infomedix.com.au
Level 5, 451 Little Bourke Street, Melbourne VIC 3000
More information about the Mercurial
mailing list