[Webkit-unassigned] [Bug 30322] WebCore level persistent caching

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Oct 12 22:03:12 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=30322





--- Comment #2 from Antti Koivisto <koivisto at iki.fi>  2009-10-12 22:03:12 PDT ---
Created an attachment (id=41085)
 --> (https://bugs.webkit.org/attachment.cgi?id=41085)
experimental patch (libdispatch based backend)

Experimental libdispatch based backend for Snow Leopard (or anything with a
libdispatch port).

A memory mapped hash table tracks all cache content. To keep the size
reasonable it only stores hashes for each item. Collisions are ignored which
means the cache can not contain more than one item with the same hash (a pretty
rare case).

The data is stored in per-domain storage files. Each storage file has an
associated memory mapped allocation table that tracks the free space.

Data integrity is verified with MD5 hash over both resource data and headers.

It is non-blocking, highly parallel and seems pretty fast.

Some things that are missing:
- not entirely multiprocess safe (shouldn't be too hard)
- no pruning based on data size
- no shrinking of storage files
- can not write resource headers only, after revalidation the entire resource
needs to be rewritten.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list