[Webkit-unassigned] [Bug 33339] Add a switch to turn on/off segmented SharedBuffer

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jan 11 11:16:14 PST 2010


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


Peter Kasting <pkasting at google.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |darin at apple.com,
                   |                            |fishd at chromium.org,
                   |                            |pkasting at google.com




--- Comment #7 from Peter Kasting <pkasting at google.com>  2010-01-11 11:16:12 PST ---
Actually, I wanted even more than this: I wanted the patch to also return to
the copy-free code in the PNG decoder when segmenting was disabled, ensure
there is no perf overhead in SharedBuffer (haven't looked closely to see if
there still is with this patch), and potentially to disable segmenting by
default and turn it on for the ports that expect to be run in low-memory
situations.

For ports expecting to be run with large amounts of memory, we (Chromium)
believe the segmented SharedBuffer is a net perf loss for two reasons.  First,
some of the open-source image decoders have to perform an extra copy (e.g.
PNGImageDecoder), and/or run more decode iterations.  Second, the segmented
nature of the data means that the SharedBuffer is scattered across pages that
have less coherency, and thus when the image is cached, there are negative
paging and (processor-level) caching effects.

The biggest proposed benefit of segmented SharedBuffer is that you avoid
needing to allocate a block of memory to hold the entire received image.  But
this is only really a big deal on highly memory-constrained ports.

So, to summarize, Chromium does not want this, and we suspect most other ports
won't either.  I don't know what Safari wants since it doesn't use the public
ImageDecoders.

-- 
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