Add a single character cache to WidthCache
authorbenjamin@webkit.org <benjamin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Mar 2013 22:39:02 +0000 (22:39 +0000)
committerbenjamin@webkit.org <benjamin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Mar 2013 22:39:02 +0000 (22:39 +0000)
commitad0c9a9e5adfe30b5b524f8fc2d6f10c6cde30b9
tree2b37068a38da36edde9cbf1cd3420b21f8eafa79
parent43481edb9cb28272afd3bb9c6012d615379ff625
Add a single character cache to WidthCache
https://bugs.webkit.org/show_bug.cgi?id=112084

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-03-12
Reviewed by Geoffrey Garen.

More than half of the values stored in WidthCache are values
for a single character.

Previously, we were creating a new SmallStringKey for each one of
them, causing a lot of extra memory operations even for the simple
cases.

This patch adds a second map, m_singleCharMap, to simplify the
computation for the common case of a single char TextRun.

* platform/graphics/WidthCache.h:
(WebCore::WidthCache::clear):
(WidthCache):
(WebCore::WidthCache::addSlowCase):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@145601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/WidthCache.h