tag:blogger.com,1999:blog-1386948037384435441.post8229365047654231461..comments2024-03-01T18:53:33.429-08:00Comments on Jeff Muizelaar: Clone timingsJeff Muizelaarhttp://www.blogger.com/profile/17483047845050494642noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-1386948037384435441.post-29024707173180177492011-02-11T06:42:05.281-08:002011-02-11T06:42:05.281-08:00Neil,
The hg clone time included updating the wor...Neil,<br /><br />The hg clone time included updating the working directory.<br /><br />Git works using raw files in addition to "pack" files. When you commit, new files are created with just that commit in them. These are occasionally garbage collected into pack files. This keeps commits very fast because no files need to be rewritten and at the same time allows very compact storage of history. e.g. git's 207M vs hg's 645MJeff Muizelaarhttps://www.blogger.com/profile/17483047845050494642noreply@blogger.comtag:blogger.com,1999:blog-1386948037384435441.post-73299999139407939912011-02-11T02:36:31.701-08:002011-02-11T02:36:31.701-08:00If git just links two files, then when you commit ...If git just links two files, then when you commit a local change isn't that going to require a rewrite of the whole file?<br /><br />Did you use hg clone -U ? It's unclear whether your timings included updating the working directory. On my usual PC you're looking at the best part of an hour, even for a clone -U :-( It took about 5½ minutes on a powerful Windows PC that I borrowed for testing purposes.Neil Rashbrookhttp://neil.rashbrook.org/noreply@blogger.comtag:blogger.com,1999:blog-1386948037384435441.post-32437844487165754932011-02-10T17:45:46.460-08:002011-02-10T17:45:46.460-08:00I'm jealous of your 3 minute hg clone times, h...I'm jealous of your 3 minute hg clone times, here in NZ it's more like 30 minutes!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1386948037384435441.post-4949368758022668062011-02-10T12:21:13.883-08:002011-02-10T12:21:13.883-08:00Zack,
Yeah, that sounds correct. http://people.mo...Zack,<br /><br />Yeah, that sounds correct. http://people.mozilla.com/~jmuizelaar/strace.html shows 2 link calls in the git case and 71435 in the hg case.Jeff Muizelaarhttps://www.blogger.com/profile/17483047845050494642noreply@blogger.comtag:blogger.com,1999:blog-1386948037384435441.post-62127947712439262822011-02-10T12:02:00.885-08:002011-02-10T12:02:00.885-08:00Don't suppose we could get "strace -c&quo...Don't suppose we could get "strace -c" reports for, at least, both of the local disk cases? /me suspects a big chunk of this is down to hg's one-store-file-per-checked-out-file arrangement vs git's packs.Zack Weinberghttps://www.blogger.com/profile/09886144371565535869noreply@blogger.comtag:blogger.com,1999:blog-1386948037384435441.post-77628742282756546252011-02-10T11:23:01.877-08:002011-02-10T11:23:01.877-08:00Now do the same on Linux/Mac/Windows. :)Now do the same on Linux/Mac/Windows. :)Anonymousnoreply@blogger.com