Bug 60023 - Web Inspector: [Chromium] Expanding Summary view top-level nodes is very slow when the number of heap objects is high
Summary: Web Inspector: [Chromium] Expanding Summary view top-level nodes is very slow...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (Deprecated) (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Mikhail Naganov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-03 07:09 PDT by Mikhail Naganov
Modified: 2011-05-03 13:05 PDT (History)
10 users (show)

See Also:


Attachments
patch (8.18 KB, patch)
2011-05-03 07:14 PDT, Mikhail Naganov
pfeldman: review+
mnaganov: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Naganov 2011-05-03 07:09:42 PDT
The most frustrating part is that even if object count is small, it expands slowly. This is because for every class we iterate through all nodes.
Comment 1 Mikhail Naganov 2011-05-03 07:14:08 PDT
Created attachment 92072 [details]
patch
Comment 2 Mikhail Naganov 2011-05-03 13:05:05 PDT
Manually committed http://trac.webkit.org/changeset/85642

2011-05-03  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles.
        https://bugs.webkit.org/show_bug.cgi?id=60023

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotConstructorNode):
        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.dispose):
        (WebInspector.HeapSnapshot.prototype.aggregates):
        (WebInspector.HeapSnapshot.prototype._buildAggregates):
        (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
        (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
        (WebInspector.HeapSnapshotFilteredOrderedIterator):
        (WebInspector.HeapSnapshotNodesProvider):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotProxy.prototype.aggregates):
        (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):