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

Reply via email to