From: Linus Torvalds Date: Wed, 31 Jan 2007 04:35:02 GMT Subject: Re: newbie questions about git design and features (some wrt hg) Message-ID: In-Reply-To: <3c6c07c20701301938u4d1503a2m3e0af51121b8e6db@mail.gmail.com> On Tue, 30 Jan 2007, Mike Coleman wrote: > > As for performance, my thinking was that since hg is implemented > apparently almost entirely in Python, and has (again apparently) > generally acceptable performance, this suggested that much of the > problem might be I/O-bound enough that language efficiency might not > matter so much. Note that git actually implements a lot more than hg does. hg depends on external programs (almost uniformly written in C) to do the actual diff generation, 3-way merging etc. Git actually ends up doing all of those internally, and minimizes external dependencies that way. More importantly, perhaps, it allows us to do a better job, faster. The early example of this is patch application, where git supports a much nicer patch format that can express renames etc in the patch. But I'll admit - my main reason going with C is (a) it's what I know and (b) I absolutely _hate_ being constrained by the language. The great thing about C (still) is that you can do *anything* in it. You're literally limited by hardware, and by your own abilities. Nothing else. Linus