On Sun, 7 Sep 2008, Jaap Suter wrote:Sure. But as soon as you repack that repository, there will be only one 24-kilobyte tree object for the latest revision and older revisions will have their tree object stored as a delta against the latest one, which should be merely the size of the changed entry only. As to the idea of splitting a large flat directory namespace into sub-trees... that would only help in the commit case which isn't that interesting since commits are done much less frequent than, say, directory walking. In the later case, you might end up inflating less object data for files at the beginning of the directory but more for files towards the end, which on average won't be a gain. And in all cases you're looking up more objects. And, to benefit from any advantage left if any, you'd need to do significant surgery in the tree walking code, otherwise simply reconstructing the current object format from subtree objects won't bring any advantage over the current packed format using deltas. The pack V4 should in theory be much better with large directories since the design of its tree object representation would allow walking partial tree by recursively following deltas making a complete tree walk almost linear in terms of processing and data touched. But that too requires a major surgery of the tree walking code (the main reason holding me back from rushing into any pack v4 work at the moment). But pack v4 won't change anything in the commit case -- you would still have to repack in order to benefit from it. Nicolas -- 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
| David Miller | Re: Slow DOWN, please!!! |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Greg KH | Re: [AppArmor 39/45] AppArmor: Profile loading and manipulation, pathname matching |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Josip Rodin | bnx2_poll panicking kernel |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
