On 20.05.2009 11:55, Simon Heimberg wrote: > * Is it really an advantage to cache the directory status on disc?
Yes, definitely. Overlay icons on directories -- especially on network shares -- are an unsustainable pain without it. Even without overlay icons on repo roots (I enabled the overlay icons on repo roots because the caching made it possible to have them at all). I'm not talking about toy repos of the size like Mercurial. Try having 10 clones of netbeans or larger ones in a directory and feel the difference. Core Mercurial was designed to handle large trees. But not the overlays of current released TortoiseHg. With current released TortoiseHg, you don't see any status in that directory. Then you can descend into each of them, waiting each time quite a couple of seconds, until you see anything at all. The API that Microsoft's explorer defines to query shell extensions was just never designed to run in the order of 5 or more seconds to return a first answer. See what Vista does in this case. Explorer constantly nails the extensions API to query it for item overlays. In a quite inefficient way. Sure, memory caching is fine, but this is not sufficient. If you want a reasonable-time true answer for what the overlay icon of a directory is, you have to cache it. Stat-ing a tree with 5'000 or more files every minute or so just makes no sense. Not even on local disks (let alone on network shares). ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Tortoisehg-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop
