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

Issue 134283002: Eliminate useless NULL push by making fIndexedData 0-based. (Closed)

Created:
6 years, 11 months ago by mtklein
Modified:
6 years, 11 months ago
CC:
skia-review_googlegroups.com
Base URL:
https://skia.googlesource.com/skia.git@off-by-one
Visibility:
Public.

Description

Eliminate useless NULL push by making fIndexedData 0-based. Depends on http://crrev.com/134223002 Testing: out/Debug/dm && out/Debug/tests && echo ok BUG=skia:1979 Committed: http://code.google.com/p/skia/source/detail?r=13028

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+9 lines, -10 lines) Patch
M src/core/SkPictureFlat.h View 6 chunks +9 lines, -10 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
mtklein
6 years, 11 months ago (2014-01-10 17:27:29 UTC) #1
hal.canary
LGTM, assuming all tests pass.
6 years, 11 months ago (2014-01-10 17:32:22 UTC) #2
Dominik Grewe
LGTM.
6 years, 11 months ago (2014-01-10 18:21:36 UTC) #3
Dominik Grewe
On 2014/01/10 18:21:36, Dominik Grewe wrote: > LGTM. Btw, do you have any data on ...
6 years, 11 months ago (2014-01-10 18:24:08 UTC) #4
mtklein
On 2014/01/10 18:24:08, Dominik Grewe wrote: > On 2014/01/10 18:21:36, Dominik Grewe wrote: > > ...
6 years, 11 months ago (2014-01-10 19:04:02 UTC) #5
Dominik Grewe
On 2014/01/10 19:04:02, mtklein wrote: > On 2014/01/10 18:24:08, Dominik Grewe wrote: > > On ...
6 years, 11 months ago (2014-01-10 19:17:35 UTC) #6
mtklein
On 2014/01/10 19:17:35, Dominik Grewe wrote: > On 2014/01/10 19:04:02, mtklein wrote: > > On ...
6 years, 11 months ago (2014-01-10 19:43:20 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/mtklein@google.com/134283002/1
6 years, 11 months ago (2014-01-10 19:46:08 UTC) #8
commit-bot: I haz the power
Change committed as 13028
6 years, 11 months ago (2014-01-10 20:13:14 UTC) #9
tomhudson
6 years, 11 months ago (2014-01-13 10:03:40 UTC) #10
Message was sent while issue was closed.
On 2014/01/10 19:43:20, mtklein wrote:
> On 2014/01/10 19:17:35, Dominik Grewe wrote:

> Obviously the list tails on down from there, but I think you get the idea of
the
> relative importance of sk_realloc_throw (~ SkTDArray::append).  These are flat
> values, that is it measures the time spent in these methods themselves but not
> in the time spent in methods they call.

Yeah, that profile is really inconsistent with what we've seen on our target
webpages on Android, but it's a different data set. Dominik is going to try to
reproduce your numbers with the new benchmark on Linux & Android (or I will, but
I'm flying to NYC several days before he flies to MTV).

> If I remember right, Tom was looking at a page with a very small picture
> representation, trying to get its cost down as close to zero as possible.  The
> pictures I'm using are more ordinary web pages.

One of the emerging frequent containers for content is infinite lists - think
Facebook. This ends up giving us lots of small pictures which are frequently
rerecorded. So yes, it's not what you're going to see in static content, but for
the next couple of quarters we in London are going to be focused on animations,
lists, and other things that are badly janky on mobile today.

> I personally would focus on the top 3 or 4 methods.

sk_*alloc_throw() gets inlined on Linux/Android; we see a higher-level caller in
Skia, and then tcmalloc / dlmalloc. For our use cases, the top methods are
definitely dlmalloc and dlfree, and depending on the profiling setup their top
callers on Android include:

  SkFlatDictionary<*>::SkFlatDictionary
  SkFlatDictionary<*>::findAndReturnMutableFlat
  SkPictureStateTree::SkPictureStateTree
  SkPicturePlayback::SkPicturePlayback
  SkDeque::allocateBlock

  SkBBoxHierarchyRecord::~SkBBoxHierarchyRecord
  SkPicturePlayback::~SkPicturePlayback
  SkCanvas::internalRestore

Tom

Powered by Google App Engine
This is Rietveld 408576698