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

Issue 1840843004: Improve efficiency of persistent sparse histograms. (Closed)

Created:
4 years, 8 months ago by bcwhite
Modified:
4 years, 8 months ago
CC:
chromium-reviews, asvitkine+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@improved-pma-iterator
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Improve efficiency of persistent sparse histograms. It's expensive to find all the records pertaining to a persistent-sample-map if each instance locates them individually. Instead, have a "helper" object which locates them all and makes them available in constant- time. BUG=546019 Committed: https://crrev.com/b0bb9194eb7b530cdd16ca926e94d424b6766746 Cr-Commit-Position: refs/heads/master@{#387841}

Patch Set 1 #

Patch Set 2 : bug fix and some clean-up #

Patch Set 3 : rebased #

Patch Set 4 : simplify seen/unseen and preserve order of samples #

Patch Set 5 : rebased #

Total comments: 43

Patch Set 6 : addressed review comments by Alexei #

Patch Set 7 : re-order classes to make DataManager a member instead of pointer; change IDmap (which is not multi-… #

Patch Set 8 : remove Reset semantics in favor of Acquire/Release #

Patch Set 9 : move all found_ logic inside DataManager #

Patch Set 10 : added comment clarifying loop behavior #

Unified diffs Side-by-side diffs Delta from patch set Stats (+459 lines, -112 lines) Patch
M base/metrics/persistent_histogram_allocator.h View 1 2 3 4 5 6 7 8 5 chunks +158 lines, -1 line 0 comments Download
M base/metrics/persistent_histogram_allocator.cc View 1 2 3 4 5 6 7 8 9 5 chunks +139 lines, -3 lines 0 comments Download
M base/metrics/persistent_memory_allocator.h View 1 2 3 4 5 2 chunks +4 lines, -1 line 0 comments Download
M base/metrics/persistent_memory_allocator.cc View 1 2 3 4 5 1 chunk +0 lines, -2 lines 0 comments Download
M base/metrics/persistent_sample_map.h View 1 2 3 4 5 3 chunks +36 lines, -5 lines 0 comments Download
M base/metrics/persistent_sample_map.cc View 1 2 3 4 5 6 7 5 chunks +67 lines, -49 lines 0 comments Download
M base/metrics/persistent_sample_map_unittest.cc View 1 2 3 4 5 9 chunks +50 lines, -46 lines 0 comments Download
M base/metrics/sparse_histogram.h View 1 2 3 chunks +3 lines, -3 lines 0 comments Download
M base/metrics/sparse_histogram.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 25 (13 generated)
bcwhite
4 years, 8 months ago (2016-04-07 17:09:39 UTC) #7
Alexei Svitkine (slow)
Sorry for the delay in getting to this. Have been busy with an UMA P0. ...
4 years, 8 months ago (2016-04-13 15:53:51 UTC) #10
bcwhite
https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc File base/metrics/persistent_histogram_allocator.cc (right): https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc#newcode628 base/metrics/persistent_histogram_allocator.cc:628: uint64_t load_id) { On 2016/04/13 15:53:50, Alexei Svitkine wrote: ...
4 years, 8 months ago (2016-04-13 22:45:04 UTC) #12
bcwhite
Use embedded object instead of pointer to object: Done. Remove Reset in favor of Acquire/Release ...
4 years, 8 months ago (2016-04-14 15:55:46 UTC) #13
Alexei Svitkine (slow)
Haven't looked at your new patchset yet, will do later today - but replying to ...
4 years, 8 months ago (2016-04-14 19:30:03 UTC) #14
bcwhite
https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc File base/metrics/persistent_histogram_allocator.cc (right): https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc#newcode635 base/metrics/persistent_histogram_allocator.cc:635: for (int count = 0; !found || count < ...
4 years, 8 months ago (2016-04-15 02:36:18 UTC) #15
bcwhite
https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc File base/metrics/persistent_histogram_allocator.cc (right): https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc#newcode694 base/metrics/persistent_histogram_allocator.cc:694: return records_[seen_++]; On 2016/04/15 02:36:18, bcwhite wrote: > On ...
4 years, 8 months ago (2016-04-15 14:12:57 UTC) #17
Alexei Svitkine (slow)
lgtm https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc File base/metrics/persistent_histogram_allocator.cc (right): https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc#newcode635 base/metrics/persistent_histogram_allocator.cc:635: for (int count = 0; !found || count ...
4 years, 8 months ago (2016-04-15 15:05:07 UTC) #18
bcwhite
https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc File base/metrics/persistent_histogram_allocator.cc (right): https://codereview.chromium.org/1840843004/diff/220001/base/metrics/persistent_histogram_allocator.cc#newcode635 base/metrics/persistent_histogram_allocator.cc:635: for (int count = 0; !found || count < ...
4 years, 8 months ago (2016-04-15 18:23:02 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1840843004/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1840843004/360001
4 years, 8 months ago (2016-04-18 00:11:50 UTC) #22
commit-bot: I haz the power
Committed patchset #10 (id:360001)
4 years, 8 months ago (2016-04-18 01:33:21 UTC) #23
commit-bot: I haz the power
4 years, 8 months ago (2016-04-18 01:34:30 UTC) #25
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/b0bb9194eb7b530cdd16ca926e94d424b6766746
Cr-Commit-Position: refs/heads/master@{#387841}

Powered by Google App Engine
This is Rietveld 408576698