Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(977)

Issue 431433005: cc: Use pointers for heaps in tile manager raster tile priority queue. (Closed)

Created:
6 years, 4 months ago by vmpstr
Modified:
6 years, 4 months ago
Reviewers:
reveman
CC:
chromium-reviews, cc-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

cc: Use pointers for heaps in tile manager raster tile priority queue. This patch changes what we heapify in tile manager raster tile priority queue. Instead of using objects, we now use pointers to those objects. The reasoning behind this is that since make_heap et al copy things around to maintain a heap order, it is significantly cheaper to move pointer around instead of objects. Perf results: Before: tile_manager_raster_tile_queue_construct: 2= 1348545 runs/s 10= 1297846.75 runs/s 50= 1098756.25 runs/s tile_manager_raster_tile_queue_construct_and_iterate: 2_16= 74439.5546875 runs/s 2_32= 36854.30078125 runs/s 2_64= 17582.240234375 runs/s 2_128= 8018.2802734375 runs/s After: tile_manager_raster_tile_queue_construct: 2= 1294338.75 runs/s (-4%) 10= 1254695 runs/s (-3%) 50= 1047427.375 runs/s (-5%) tile_manager_raster_tile_queue_construct_and_iterate: 2_16= 298292.03125 runs/s (+300%) 2_32= 176878.578125 runs/s (+380%) 2_64= 93562.8515625 runs/s (+430%) 2_128= 43368.1796875 runs/s (+440%) R=reveman Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=287378

Patch Set 1 #

Total comments: 5

Patch Set 2 : ScopedPtrVector #

Unified diffs Side-by-side diffs Delta from patch set Stats (+37 lines, -24 lines) Patch
M cc/base/scoped_ptr_vector.h View 1 1 chunk +15 lines, -0 lines 0 comments Download
M cc/resources/raster_tile_priority_queue.h View 1 1 chunk +4 lines, -1 line 0 comments Download
M cc/resources/raster_tile_priority_queue.cc View 1 2 chunks +18 lines, -23 lines 0 comments Download

Messages

Total messages: 14 (0 generated)
vmpstr
PTAL. Note that tiling level raster iterator doesn't have vectors, so the objects here should ...
6 years, 4 months ago (2014-07-30 01:30:23 UTC) #1
reveman
https://codereview.chromium.org/431433005/diff/1/cc/resources/raster_tile_priority_queue.cc File cc/resources/raster_tile_priority_queue.cc (right): https://codereview.chromium.org/431433005/diff/1/cc/resources/raster_tile_priority_queue.cc#newcode80 cc/resources/raster_tile_priority_queue.cc:80: TreePriority tree_priority) { That this function is not being ...
6 years, 4 months ago (2014-07-30 16:04:09 UTC) #2
vmpstr
https://codereview.chromium.org/431433005/diff/1/cc/resources/raster_tile_priority_queue.cc File cc/resources/raster_tile_priority_queue.cc (right): https://codereview.chromium.org/431433005/diff/1/cc/resources/raster_tile_priority_queue.cc#newcode80 cc/resources/raster_tile_priority_queue.cc:80: TreePriority tree_priority) { On 2014/07/30 16:04:09, reveman wrote: > ...
6 years, 4 months ago (2014-07-30 16:45:51 UTC) #3
reveman
Btw, you probably need to add a make_heap function to ScopedPtrVector (just like we have ...
6 years, 4 months ago (2014-07-31 03:05:19 UTC) #4
vmpstr
> I'm not completely against this patch. I just need some more data to be ...
6 years, 4 months ago (2014-07-31 21:52:13 UTC) #5
vmpstr
Here's profile numbers for ConstructAndIterate test (i put all things >1% prunning at layer raster ...
6 years, 4 months ago (2014-08-01 17:52:47 UTC) #6
reveman
On 2014/08/01 17:52:47, vmpstr wrote: > Here's profile numbers for ConstructAndIterate test (i put all ...
6 years, 4 months ago (2014-08-01 19:21:41 UTC) #7
vmpstr
On 2014/08/01 19:21:41, reveman wrote: > On 2014/08/01 17:52:47, vmpstr wrote: > > Here's profile ...
6 years, 4 months ago (2014-08-01 20:57:40 UTC) #8
reveman
We should find out why these new,memmove,free calls are removed with this change as that ...
6 years, 4 months ago (2014-08-04 14:37:16 UTC) #9
vmpstr
On 2014/08/04 14:37:16, reveman wrote: > We should find out why these new,memmove,free calls are ...
6 years, 4 months ago (2014-08-04 16:46:19 UTC) #10
vmpstr
https://codereview.chromium.org/431433005/diff/1/cc/resources/raster_tile_priority_queue.h File cc/resources/raster_tile_priority_queue.h (right): https://codereview.chromium.org/431433005/diff/1/cc/resources/raster_tile_priority_queue.h#newcode51 cc/resources/raster_tile_priority_queue.h:51: std::vector<PairedPictureLayerQueue*> paired_queues_heap_; On 2014/08/04 14:37:16, reveman wrote: > Please ...
6 years, 4 months ago (2014-08-04 16:46:26 UTC) #11
vmpstr
The CQ bit was checked by vmpstr@chromium.org
6 years, 4 months ago (2014-08-04 16:47:27 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/vmpstr@chromium.org/431433005/20001
6 years, 4 months ago (2014-08-04 16:48:38 UTC) #13
commit-bot: I haz the power
6 years, 4 months ago (2014-08-04 18:37:02 UTC) #14
Message was sent while issue was closed.
Change committed as 287378

Powered by Google App Engine
This is Rietveld 408576698