Bug 60023

Summary: Web Inspector: [Chromium] Expanding Summary view top-level nodes is very slow when the number of heap objects is high
Product: WebKit Reporter: Mikhail Naganov <mnaganov>
Component: Web Inspector (Deprecated)Assignee: Mikhail Naganov <mnaganov>
Status: RESOLVED FIXED    
Severity: Normal CC: apavlov, bweinstein, joepeck, keishi, loislo, pfeldman, pmuellr, rik, timothy, yurys
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch pfeldman: review+, mnaganov: commit-queue-

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