Consider the following scenario: - in the Dominators view, I have revealed all of the nodes; - now I'm clicking actively on column headers; - result: visually nothing happens, worker is overloaded, user confused; - only after some significant time (after worker has finished processing), the picture changes. It should make sense to divide operations in batches, so worker can provide feedback and interrupt them if needed (e.g. if I'm changing sorting order before the worker has finished with sorting, it's better to interrupt the current sorting and start the new one).
Created attachment 97264 [details] patch
Comment on attachment 97264 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=97264&action=review > Source/WebCore/inspector/front-end/PartialQuickSort.js:31 > +function swap(array, i1, i2) You should move these into the closure within defineProperty.
Comment on attachment 97264 [details] patch Attachment 97264 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/8866095 New failing tests: inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html
Created attachment 97299 [details] Archive of layout-test-results from ec2-cr-linux-03 The attached test failures were seen while running run-webkit-tests on the chromium-ews. Bot: ec2-cr-linux-03 Port: Chromium Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Variation of the patch landed: http://trac.webkit.org/changeset/89008 Small errors causing tests failures were fixed. A new test was added. 2011-06-15 Mikhail Naganov <mnaganov@chromium.org> Reviewed by Pavel Feldman. WebInspector [Chromium]: Make heap snapshots UI more responsive. https://bugs.webkit.org/show_bug.cgi?id=62360 Two changes have been made: - when we request elements, sort array only partially; - when populating children, do it in batches; * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/DetailedHeapshotGridNodes.js: (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize): (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved): (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): * inspector/front-end/HeapSnapshot.js: (WebInspector.HeapSnapshotFilteredOrderedIterator): (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems): (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind): (WebInspector.HeapSnapshotEdgesProvider.prototype.sort): (WebInspector.HeapSnapshotNodesProvider.prototype.sort): * inspector/front-end/HeapSnapshotWorker.js: * inspector/front-end/PartialQuickSort.js: Added. * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: 2011-06-15 Mikhail Naganov <mnaganov@chromium.org> Reviewed by Pavel Feldman. WebInspector [Chromium]: Make heap snapshots UI more responsive. https://bugs.webkit.org/show_bug.cgi?id=62360 Two changes have been made: - when we request elements, sort array only partially; - when populating children, do it in batches; * WebKit.gyp: 2011-06-15 Mikhail Naganov <mnaganov@chromium.org> Reviewed by Pavel Feldman. WebInspector [Chromium]: Make heap snapshots UI more responsive. https://bugs.webkit.org/show_bug.cgi?id=62360 Two changes have been made: - when we request elements, sort array only partially; - when populating children, do it in batches; * inspector/profiler/heap-snapshot.html: * inspector/utilities.html: