| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "SkBenchmark.h" | 9 #include "SkBenchmark.h" |
| 10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 } | 140 } |
| 141 private: | 141 private: |
| 142 SkBBoxHierarchy* fTree; | 142 SkBBoxHierarchy* fTree; |
| 143 MakeRectProc fProc; | 143 MakeRectProc fProc; |
| 144 SkString fName; | 144 SkString fName; |
| 145 bool fBulkLoad; | 145 bool fBulkLoad; |
| 146 QueryType fQuery; | 146 QueryType fQuery; |
| 147 typedef SkBenchmark INHERITED; | 147 typedef SkBenchmark INHERITED; |
| 148 }; | 148 }; |
| 149 | 149 |
| 150 static inline SkIRect make_simple_rect(SkRandom&, int index, int numRects) { | |
| 151 SkIRect out = {0, 0, GENERATE_EXTENTS, GENERATE_EXTENTS}; | |
| 152 return out; | |
| 153 } | |
| 154 | |
| 155 static inline SkIRect make_concentric_rects_increasing(SkRandom&, int index, int
numRects) { | 150 static inline SkIRect make_concentric_rects_increasing(SkRandom&, int index, int
numRects) { |
| 156 SkIRect out = {0, 0, index + 1, index + 1}; | 151 SkIRect out = {0, 0, index + 1, index + 1}; |
| 157 return out; | 152 return out; |
| 158 } | 153 } |
| 159 | 154 |
| 160 static inline SkIRect make_concentric_rects_decreasing(SkRandom&, int index, int
numRects) { | |
| 161 SkIRect out = {0, 0, numRects - index, numRects - index}; | |
| 162 return out; | |
| 163 } | |
| 164 | |
| 165 static inline SkIRect make_XYordered_rects(SkRandom& rand, int index, int numRec
ts) { | 155 static inline SkIRect make_XYordered_rects(SkRandom& rand, int index, int numRec
ts) { |
| 166 SkIRect out; | 156 SkIRect out; |
| 167 out.fLeft = index % GRID_WIDTH; | 157 out.fLeft = index % GRID_WIDTH; |
| 168 out.fTop = index / GRID_WIDTH; | 158 out.fTop = index / GRID_WIDTH; |
| 169 out.fRight = out.fLeft + 1 + rand.nextU() % (GENERATE_EXTENTS / 3); | 159 out.fRight = out.fLeft + 1 + rand.nextU() % (GENERATE_EXTENTS / 3); |
| 170 out.fBottom = out.fTop + 1 + rand.nextU() % (GENERATE_EXTENTS / 3); | 160 out.fBottom = out.fTop + 1 + rand.nextU() % (GENERATE_EXTENTS / 3); |
| 171 return out; | 161 return out; |
| 172 } | 162 } |
| 173 static inline SkIRect make_YXordered_rects(SkRandom& rand, int index, int numRec
ts) { | 163 static inline SkIRect make_YXordered_rects(SkRandom& rand, int index, int numRec
ts) { |
| 174 SkIRect out; | 164 SkIRect out; |
| 175 out.fLeft = index / GRID_WIDTH; | 165 out.fLeft = index / GRID_WIDTH; |
| 176 out.fTop = index % GRID_WIDTH; | 166 out.fTop = index % GRID_WIDTH; |
| 177 out.fRight = out.fLeft + 1 + rand.nextU() % (GENERATE_EXTENTS / 3); | 167 out.fRight = out.fLeft + 1 + rand.nextU() % (GENERATE_EXTENTS / 3); |
| 178 out.fBottom = out.fTop + 1 + rand.nextU() % (GENERATE_EXTENTS / 3); | 168 out.fBottom = out.fTop + 1 + rand.nextU() % (GENERATE_EXTENTS / 3); |
| 179 return out; | 169 return out; |
| 180 } | 170 } |
| 181 | 171 |
| 182 static inline SkIRect make_point_rects(SkRandom& rand, int index, int numRects)
{ | |
| 183 SkIRect out; | |
| 184 out.fLeft = rand.nextU() % GENERATE_EXTENTS; | |
| 185 out.fTop = rand.nextU() % GENERATE_EXTENTS; | |
| 186 out.fRight = out.fLeft + (GENERATE_EXTENTS / 200); | |
| 187 out.fBottom = out.fTop + (GENERATE_EXTENTS / 200); | |
| 188 return out; | |
| 189 } | |
| 190 | |
| 191 static inline SkIRect make_random_rects(SkRandom& rand, int index, int numRects)
{ | 172 static inline SkIRect make_random_rects(SkRandom& rand, int index, int numRects)
{ |
| 192 SkIRect out; | 173 SkIRect out; |
| 193 out.fLeft = rand.nextS() % GENERATE_EXTENTS; | 174 out.fLeft = rand.nextS() % GENERATE_EXTENTS; |
| 194 out.fTop = rand.nextS() % GENERATE_EXTENTS; | 175 out.fTop = rand.nextS() % GENERATE_EXTENTS; |
| 195 out.fRight = out.fLeft + 1 + rand.nextU() % (GENERATE_EXTENTS / 5); | 176 out.fRight = out.fLeft + 1 + rand.nextU() % (GENERATE_EXTENTS / 5); |
| 196 out.fBottom = out.fTop + 1 + rand.nextU() % (GENERATE_EXTENTS / 5); | 177 out.fBottom = out.fTop + 1 + rand.nextU() % (GENERATE_EXTENTS / 5); |
| 197 return out; | 178 return out; |
| 198 } | 179 } |
| 199 | 180 |
| 200 static inline SkIRect make_large_rects(SkRandom& rand, int index, int numRects)
{ | |
| 201 SkIRect out; | |
| 202 out.fLeft = rand.nextU() % GENERATE_EXTENTS; | |
| 203 out.fTop = rand.nextU() % GENERATE_EXTENTS; | |
| 204 out.fRight = out.fLeft + (GENERATE_EXTENTS / 3); | |
| 205 out.fBottom = out.fTop + (GENERATE_EXTENTS / 3); | |
| 206 return out; | |
| 207 } | |
| 208 | |
| 209 /////////////////////////////////////////////////////////////////////////////// | 181 /////////////////////////////////////////////////////////////////////////////// |
| 210 | 182 |
| 211 DEF_BENCH( | 183 DEF_BENCH( |
| 212 return SkNEW_ARGS(BBoxBuildBench, ("XYordered", &make_XYordered_rects, false
, | 184 return SkNEW_ARGS(BBoxBuildBench, ("XYordered", &make_XYordered_rects, false
, |
| 213 SkRTree::Create(5, 16))); | 185 SkRTree::Create(5, 16))); |
| 214 ) | 186 ) |
| 215 DEF_BENCH( | 187 DEF_BENCH( |
| 216 return SkNEW_ARGS(BBoxBuildBench, ("XYordered", &make_XYordered_rects, true, | 188 return SkNEW_ARGS(BBoxBuildBench, ("XYordered", &make_XYordered_rects, true, |
| 217 SkRTree::Create(5, 16))); | 189 SkRTree::Create(5, 16))); |
| 218 ) | 190 ) |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 &make_concentric_rects_increasing, true, SkRTree::Create(5
, 16, 1, false))); | 252 &make_concentric_rects_increasing, true, SkRTree::Create(5
, 16, 1, false))); |
| 281 ) | 253 ) |
| 282 DEF_BENCH( | 254 DEF_BENCH( |
| 283 return SkNEW_ARGS(BBoxQueryBench, ("concentric", &make_concentric_rects_incr
easing, true, | 255 return SkNEW_ARGS(BBoxQueryBench, ("concentric", &make_concentric_rects_incr
easing, true, |
| 284 BBoxQueryBench::kRandom_QueryType, SkRTree::Create(5, 16))
); | 256 BBoxQueryBench::kRandom_QueryType, SkRTree::Create(5, 16))
); |
| 285 ) | 257 ) |
| 286 DEF_BENCH( | 258 DEF_BENCH( |
| 287 return SkNEW_ARGS(BBoxQueryBench, ("(unsorted)concentric", &make_concentric_
rects_increasing, true, | 259 return SkNEW_ARGS(BBoxQueryBench, ("(unsorted)concentric", &make_concentric_
rects_increasing, true, |
| 288 BBoxQueryBench::kRandom_QueryType, SkRTree::Create(5, 16,
1, false))); | 260 BBoxQueryBench::kRandom_QueryType, SkRTree::Create(5, 16,
1, false))); |
| 289 ) | 261 ) |
| OLD | NEW |