http://bugs.winehq.org/show_bug.cgi?id=23876
--- Comment #24 from Juan Lang juan_lang@yahoo.com 2011-02-25 13:52:16 CST --- I've had a read through wininet, and as far as I can tell, it doesn't make use of its cache at all. It caches all retrieved data unless the cache is disabled, but it never deletes stale data because it never checks whether things it's about to retrieve are cached.
Sigh. This does seem pretty serious. I said I wouldn't repeat myself, but now I will, to collect the issues in one place:
1. wininet doesn't appear to check its cache. This is, at best, a performance drain. 2. wininet doesn't delete stale cache entries. This is a side effect of #1, and it results in the cache filling with repeatedly downloaded data. 3. wininet doesn't bound the size of its cache. A bound combined with a LRU eviction policy could at least mitigate #2. 4. wininet doesn't implement FreeUrlCacheSpace. Providing a function to clear the cache could also help mitigate the problem.
(Note that I am a volunteer, and by commenting on this bug I accept no responsibility for fixing it.)