On Jan 9, 2008 10:55 PM, Marco Costalba <mcostalba@gmail.com> wrote:Thanks for looking into this, in this email and your subsequent ones. I agree that zip time is an issue. I was looking into reducing the _number_ of zip calls on the same data, but work and personal crises have reduced me from an infrequent contributor to an occasional gadfly for the moment. The approach you're taking (here and in following emails) of being able to make zip/lzo selection and measure the results should be enlightening. For the vast majority of git users, Junio's scenario is the most relevant. Of additional interest to me is handling enormous objects more quickly. I would like to replace some p4 usage here with git, but most users will only notice the speed difference and not use git's extra features. Thus they will compare git add/git commit/git push unfavorably to p4 edit/p4 submit, because the former effectively does zip/unzip/zip/send, while the latter only does zip/send (git's extra "unzip/zip" comes from loose objects not being directly copyable into packs). This speed difference is irrelevant for small to normal files, but a killer when commiting a collection of say 100MB files. Your lzo option could reduce this performance degradation vs p4 from 3x to close to 1.5x. If you get it accepted, I'd love to then "fix" the loose object copying "problem" making git _faster_ than p4 on large files! 2 simple forms for this "fix" would be to use the once-and-future "new" loose object format (an idea already rejected), or to encode all loose objects as singleton packs under .git/objects/xx (so that all (re)packing, in the absence of new deltification, becomes pack-to-pack copying). This latter idea is a modification of an idea from Nicolas Pitre. It certainly adds less code than other approaches for such a "fix". Thanks, -- Dana L. How danahow@gmail.com +1 650 804 5991 cell - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Greg Kroah-Hartman | [PATCH 002/196] Chinese: rephrase English introduction in HOWTO |
| Kok, Auke | Re: Linux 2.6.21-rc1 |
| Greg KH | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Jeff Garzik | Re: [Patch v2] Make PCI extended config space (MMCONFIG) a driver opt-in |
git: | |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Eric Dumazet | [PATCH] net: remove superfluous call to synchronize_net() |
