Re: Deciding between Git/Mercurial
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Sep 28, 2009, 11:01 UTC
- Message-ID
- <94a0d4530909280401q4a451697re8954320682662f2@mail.gmail.com>
- In-Reply-To
- <alpine.DEB.1.00.0909281059180.4985@pacific.mpi-cbg.de>
On Mon, Sep 28, 2009 at 1:08 PM, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 22 quoted lines
> Hi, > > I tried to refrain from commenting in this thread, because I do not want > to encourage people just to use msysGit and never even attempt to fix > their own issues. > > But I cannot let this go uncommented: > > On Mon, 28 Sep 2009, Felipe Contreras wrote: > >> IMO the key difference between hg and git is the storage model: hg >> stores deltas, while git stores snapshots. That would mean that certain >> operations are theoretically faster in git (e.g. checkout, diff) while >> others faster in hg, although with git's packed format I guess there's >> no operation faster in hg. This means that it doesn't matter how much >> hg's python code improves, or if they even re-write parts in C, they >> will never be able to match git's performance (unless they change the >> storage model, which essentially means changing the whole design -- >> won't happen). > > That is wrong. "git log -- <file>" will always be slightly faster in > Mercurial, for all the reasons you mentioned.
Ok, thanks for pointing that out. I was thinking that maybe 'git blame' would also be slightly faster on hg, but I really don't know. Anyway, I think for most operations git would always be faster, and more importantly; some essential operations will be faster (checkout, diff <committish>).
-- Felipe Contreras