Closed
Bug 45668
Opened 24 years ago
Closed 24 years ago
convert global history to use Mork's row-level APIs
Categories
(Core :: DOM: Navigation, defect, P3)
Core
DOM: Navigation
Tracking
()
VERIFIED
FIXED
M18
People
(Reporter: waterson, Assigned: waterson)
Details
(Keywords: perf, Whiteboard: FIX IN HAND)
Attachments
(1 file)
Global history is currently using Mork's cell-level APIs to look up values. This
is fairly expensive, because it means that each lookup causes an allocation.
Change this to use row-level APIs which do not require this overhead.
This is important because it's called from nsILinkHandler::GetLinkState(), which
is called an enormous number of times from the style system for link coloring.
Assignee | ||
Updated•24 years ago
|
Assignee | ||
Comment 1•24 years ago
|
||
Assignee | ||
Comment 2•24 years ago
|
||
bienvenu: could you sanity check these changes? thanks! (FWIW, this is another
5% speed boost on page layout: drops one second out of 20 from large LXR pages...)
Assignee | ||
Updated•24 years ago
|
Whiteboard: FIX IN HAND
Comment 3•24 years ago
|
||
Looks sane to me. One comment, though. AliasCellYarn will always succeed, so
that you can't use it to tell if a column/cell really exists in a row. It
returns an empty yarn if the cell isn't in the row. I'm not sure from your code
if you care or not. The message db code did care, because it tries to default
certain values if the cell didn't exist, and that was the one thing that broke
when I converted to the newer api.
Assignee | ||
Comment 4•24 years ago
|
||
I can test yarn.mYarn_Fill to see if there was a value, right? I'll double-check
to make sure I've tested it when I need to...
Comment 5•24 years ago
|
||
yes, that's right. fill will be 0.
Assignee | ||
Comment 6•24 years ago
|
||
fix checked in
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Component: History: Session → Document Navigation
QA Contact: claudius → docshell
You need to log in
before you can comment on or make changes to this bug.
Description
•