[webkit-dev] Discussing bug 98539 - Refactor resource loading to allow for out-of-process loading and memory caching

Brady Eidson beidson at apple.com
Mon Oct 8 14:17:53 PDT 2012


On Oct 8, 2012, at 12:17 PM, Adam Barth <abarth at webkit.org> wrote:

> On Mon, Oct 8, 2012 at 11:49 AM, Brady Eidson <beidson at apple.com> wrote:
>> On Oct 8, 2012, at 11:24 AM, Adam Barth <abarth at webkit.org> wrote:
>>> On Mon, Oct 8, 2012 at 11:14 AM, Brady Eidson <beidson at apple.com> wrote:
>>>> On Oct 8, 2012, at 10:58 AM, Adam Barth <abarth at webkit.org> wrote:
>>>>> When we looked at whether we should add a shared memory cache to
>>>>> Chromium, we came to the conclusion that there wasn't much benefit to
>>>>> having a shared memory cache.  In
>>>>> <https://bugs.webkit.org/show_bug.cgi?id=98541#c4>, you mentioned that
>>>>> you have data showing that a shared memory cache is a win.  Would you
>>>>> be willing to share this data with the WebKit community?
>>>> 
>>>> It's possible the disparity is because of the process model Chromium was focusing on versus the process models we are exploring.
>>>> 
>>>> WebKit 2 is also evolving as an API framework that supports other non-browser clients which might have different caching needs than Chromium has focused on.
>>>> 
>>>> We don't have hard data to share at this time.  A simple experiment one could run to see the type of result we're focusing on would be to open a handful of articles from various top-tier news sites in different tabs and note just how many resources are shared between them.
>>> 
>>> Without data showing that this is a win, adding a shared memory cache
>>> to WebCore seems like over-engineering and unneeded complexity.  We
>>> had the same design instincts as you when we looked at this issue in
>>> Chromium, but we studied the issue (twice actually) and concluded that
>>> the complexity wasn't worth the meager benefits.
>> 
>> There might be some misunderstanding of the specifics of what I'm working on.
>> 
>> I don't plan to add a shared memory cache to WebCore, or even to add an abstraction of "shared memory" directly to WebCore.
>> 
>> I'm working on refactoring the resource loader/cache to support more customization by the embedding port - In this case, WebKit 2.
>> 
>> Traditionally we've supported refactoring WebCore in ways important to an embedding port even if that port has substantially different needs than most mainstream WebCore clients.
>> 
>> I'm not sure that I see how this case is in a different category.
> 
> Would there be any design or implementation constraints on WebCore?
> For example, would WebCore need to understand any concurrency or
> performance issues caused by the memory being shared between
> processes?

For now we think the answer is no, or that any parts that do need to be concerned to be wholly encapsulated within the support for the client model.

Thanks,
~Brady

> 
> Adam



More information about the webkit-dev mailing list