Re: [PATCH v4 00/13] New remote-hg helper
From: Felipe Contreras <hidden>
Date: 2016-06-15 22:55:10
On Wed, Oct 31, 2012 at 8:47 PM, Felipe Contreras [off-list ref] wrote:
On Wed, Oct 31, 2012 at 7:04 PM, Felipe Contreras [off-list ref] wrote:quoted
How about performance?quoted
174.038642915 seconds time elapsed Compared to;quoted
340.976843750 seconds time elapsed Looks like there's something to improve in this area, but I wouldn't be surprised if the reason for the better performance is that something is not being done. I'll investigate.Turns out msysgit's remote-hg is not exporting the whole repository, that's why it's faster =/
It seems the reason is that it would only export to the point where
the branch is checked out. After updating the to the tip I noticed
there was a performance difference.
I investigated and found two reasons:
1) msysgit's version doesn't export files twice, I've now implemented the same
2) msysgit's version uses a very simple algorithm to find out file changes
This second point causes msysgit to miss some file changes. Using the
same algorithm I get the same performance, but the output is not
correct.
Here's after the latest updates:
Performance counter stats for 'git clone hg::~/dev/hg-clean hg-clean-5':
288338.286545 task-clock # 1.299 CPUs utilized
46,441 context-switches # 0.161 K/sec
6,098 CPU-migrations # 0.021 K/sec
509,600 page-faults # 0.002 M/sec
518,370,729,897 cycles # 1.798 GHz
204,476,102,906 stalled-cycles-frontend # 39.45% frontend cycles idle
<not supported> stalled-cycles-backend
726,005,034,102 instructions # 1.40 insns per cycle
# 0.28 stalled cycles per insn
127,662,400,651 branches # 442.752 M/sec
6,758,976,722 branch-misses # 5.29% of all branches
222.020233009 seconds time elapsed
Which is taking roughly 60% more time than msysgit, but the output is
actually correct.
Cheers.
--
Felipe Contreras