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

Side by Side Diff: cc/base/rolling_time_delta_history.cc

Issue 761903003: Update from https://crrev.com/306655 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/base/rolling_time_delta_history.h ('k') | cc/blink/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <cmath> 5 #include <cmath>
6 6
7 #include "cc/base/rolling_time_delta_history.h" 7 #include "cc/base/rolling_time_delta_history.h"
8 8
9 namespace cc { 9 namespace cc {
10 10
11 RollingTimeDeltaHistory::RollingTimeDeltaHistory(size_t max_size) 11 RollingTimeDeltaHistory::RollingTimeDeltaHistory(size_t max_size)
12 : max_size_(max_size) {} 12 : max_size_(max_size) {}
13 13
14 RollingTimeDeltaHistory::~RollingTimeDeltaHistory() {} 14 RollingTimeDeltaHistory::~RollingTimeDeltaHistory() {}
15 15
16 void RollingTimeDeltaHistory::InsertSample(base::TimeDelta time) { 16 void RollingTimeDeltaHistory::InsertSample(base::TimeDelta time) {
17 if (max_size_ == 0) 17 if (max_size_ == 0)
18 return; 18 return;
19 19
20 if (sample_set_.size() == max_size_) { 20 if (sample_set_.size() == max_size_) {
21 sample_set_.erase(chronological_sample_deque_.front()); 21 sample_set_.erase(chronological_sample_deque_.front());
22 chronological_sample_deque_.pop_front(); 22 chronological_sample_deque_.pop_front();
23 } 23 }
24 24
25 TimeDeltaMultiset::iterator it = sample_set_.insert(time); 25 TimeDeltaMultiset::iterator it = sample_set_.insert(time);
26 chronological_sample_deque_.push_back(it); 26 chronological_sample_deque_.push_back(it);
27 } 27 }
28 28
29 size_t RollingTimeDeltaHistory::SampleCount() {
30 return sample_set_.size();
31 }
32
33 void RollingTimeDeltaHistory::Clear() { 29 void RollingTimeDeltaHistory::Clear() {
34 chronological_sample_deque_.clear(); 30 chronological_sample_deque_.clear();
35 sample_set_.clear(); 31 sample_set_.clear();
36 } 32 }
37 33
38 base::TimeDelta RollingTimeDeltaHistory::Percentile(double percent) const { 34 base::TimeDelta RollingTimeDeltaHistory::Percentile(double percent) const {
39 if (sample_set_.size() == 0) 35 if (sample_set_.size() == 0)
40 return base::TimeDelta(); 36 return base::TimeDelta();
41 37
42 double fraction = percent / 100.0; 38 double fraction = percent / 100.0;
(...skipping 15 matching lines...) Expand all
58 return *it; 54 return *it;
59 } 55 }
60 56
61 TimeDeltaMultiset::const_iterator it = sample_set_.begin(); 57 TimeDeltaMultiset::const_iterator it = sample_set_.begin();
62 for (size_t i = 0; i < num_smaller_samples; i++) 58 for (size_t i = 0; i < num_smaller_samples; i++)
63 it++; 59 it++;
64 return *it; 60 return *it;
65 } 61 }
66 62
67 } // namespace cc 63 } // namespace cc
OLDNEW
« no previous file with comments | « cc/base/rolling_time_delta_history.h ('k') | cc/blink/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698