| Summary: | REGRESSION (r177876): 35% regression in Parser/html5-full-render | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Antti Koivisto <koivisto> | ||||
| Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | commit-queue, mitz, mmaxfield, ossy | ||||
| Priority: | P2 | ||||||
| Version: | 528+ (Nightly build) | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 140015 | ||||||
| Attachments: |
|
||||||
|
Description
Antti Koivisto
2015-01-06 05:20:11 PST
Created attachment 244053 [details]
patch
Comment on attachment 244053 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=244053&action=review > Source/WebCore/platform/graphics/SimpleFontData.cpp:443 > RefPtr<SimpleFontData> SimpleFontData::systemFallbackFontDataForCharacter(UChar32 c, const FontDescription& description, bool isForPlatformFont) const Would be nice to name it "character" instead of "c". > Source/WebCore/platform/graphics/SimpleFontData.cpp:455 > + if (c <= 0xFFFF) { I think we should use U_IS_BMP here. > Source/WebCore/platform/graphics/SimpleFontData.cpp:480 > + Vector<std::pair<UChar32, unsigned>> toRemove; Inline capacity here, maybe? > Source/WebCore/platform/graphics/SimpleFontData.cpp:484 > + for (auto& entry : characterMap) { > + if (entry.value == this) > + toRemove.append(entry.key); > + } Should we have a map in the reverse direction to avoid this iteration? > Should we have a map in the reverse direction to avoid this iteration?
I suspect it is fine as-is. The GlyphPageTree code did a comparable crawl and I don't think we ever had problems with it.
The bot says performance is back where it was. |