| OLD | NEW |
| 1 #include "SkBenchmark.h" | 1 #include "SkBenchmark.h" |
| 2 #include "SkColorPriv.h" | 2 #include "SkColorPriv.h" |
| 3 #include "SkMatrix.h" | 3 #include "SkMatrix.h" |
| 4 #include "SkRandom.h" | 4 #include "SkRandom.h" |
| 5 #include "SkString.h" | 5 #include "SkString.h" |
| 6 #include "SkPaint.h" | 6 #include "SkPaint.h" |
| 7 | 7 |
| 8 static float sk_fsel(float pred, float result_ge, float result_lt) { | 8 static float sk_fsel(float pred, float result_ge, float result_lt) { |
| 9 return pred >= 0 ? result_ge : result_lt; | 9 return pred >= 0 ? result_ge : result_lt; |
| 10 } | 10 } |
| (...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 virtual const char* onGetName() { | 505 virtual const char* onGetName() { |
| 506 return "float_to_fixed"; | 506 return "float_to_fixed"; |
| 507 } | 507 } |
| 508 | 508 |
| 509 private: | 509 private: |
| 510 typedef SkBenchmark INHERITED; | 510 typedef SkBenchmark INHERITED; |
| 511 }; | 511 }; |
| 512 | 512 |
| 513 /////////////////////////////////////////////////////////////////////////////// | 513 /////////////////////////////////////////////////////////////////////////////// |
| 514 | 514 |
| 515 template <typename T> |
| 516 class DivModBench : public SkBenchmark { |
| 517 const char* fName; |
| 518 public: |
| 519 explicit DivModBench(const char* name) : fName(name) { |
| 520 fIsRendering = false; |
| 521 } |
| 522 |
| 523 protected: |
| 524 virtual const char* onGetName() { |
| 525 return SkStringPrintf("divmod_%s", fName).c_str(); |
| 526 } |
| 527 |
| 528 virtual void onDraw(SkCanvas*) { |
| 529 volatile T a = 0, b = 0; |
| 530 T div = 0, mod = 0; |
| 531 for (int i = 0; i < this->getLoops(); i++) { |
| 532 if ((T)i == 0) continue; // Small T will wrap around. |
| 533 SkTDivMod((T)(i+1), (T)i, &div, &mod); |
| 534 a ^= div; |
| 535 b ^= mod; |
| 536 } |
| 537 } |
| 538 }; |
| 539 DEF_BENCH(return new DivModBench<uint8_t>("uint8_t")) |
| 540 DEF_BENCH(return new DivModBench<uint16_t>("uint16_t")) |
| 541 DEF_BENCH(return new DivModBench<uint32_t>("uint32_t")) |
| 542 DEF_BENCH(return new DivModBench<uint64_t>("uint64_t")) |
| 543 |
| 544 DEF_BENCH(return new DivModBench<int8_t>("int8_t")) |
| 545 DEF_BENCH(return new DivModBench<int16_t>("int16_t")) |
| 546 DEF_BENCH(return new DivModBench<int32_t>("int32_t")) |
| 547 DEF_BENCH(return new DivModBench<int64_t>("int64_t")) |
| 548 |
| 549 /////////////////////////////////////////////////////////////////////////////// |
| 550 |
| 515 DEF_BENCH( return new NoOpMathBench(); ) | 551 DEF_BENCH( return new NoOpMathBench(); ) |
| 516 DEF_BENCH( return new SlowISqrtMathBench(); ) | 552 DEF_BENCH( return new SlowISqrtMathBench(); ) |
| 517 DEF_BENCH( return new FastISqrtMathBench(); ) | 553 DEF_BENCH( return new FastISqrtMathBench(); ) |
| 518 DEF_BENCH( return new QMul64Bench(); ) | 554 DEF_BENCH( return new QMul64Bench(); ) |
| 519 DEF_BENCH( return new QMul32Bench(); ) | 555 DEF_BENCH( return new QMul32Bench(); ) |
| 520 | 556 |
| 521 DEF_BENCH( return new IsFiniteBench(-1); ) | 557 DEF_BENCH( return new IsFiniteBench(-1); ) |
| 522 DEF_BENCH( return new IsFiniteBench(0); ) | 558 DEF_BENCH( return new IsFiniteBench(0); ) |
| 523 DEF_BENCH( return new IsFiniteBench(1); ) | 559 DEF_BENCH( return new IsFiniteBench(1); ) |
| 524 DEF_BENCH( return new IsFiniteBench(2); ) | 560 DEF_BENCH( return new IsFiniteBench(2); ) |
| 525 DEF_BENCH( return new IsFiniteBench(3); ) | 561 DEF_BENCH( return new IsFiniteBench(3); ) |
| 526 DEF_BENCH( return new IsFiniteBench(4); ) | 562 DEF_BENCH( return new IsFiniteBench(4); ) |
| 527 DEF_BENCH( return new IsFiniteBench(5); ) | 563 DEF_BENCH( return new IsFiniteBench(5); ) |
| 528 | 564 |
| 529 DEF_BENCH( return new FloorBench(false); ) | 565 DEF_BENCH( return new FloorBench(false); ) |
| 530 DEF_BENCH( return new FloorBench(true); ) | 566 DEF_BENCH( return new FloorBench(true); ) |
| 531 | 567 |
| 532 DEF_BENCH( return new CLZBench(false); ) | 568 DEF_BENCH( return new CLZBench(false); ) |
| 533 DEF_BENCH( return new CLZBench(true); ) | 569 DEF_BENCH( return new CLZBench(true); ) |
| 534 | 570 |
| 535 DEF_BENCH( return new NormalizeBench(); ) | 571 DEF_BENCH( return new NormalizeBench(); ) |
| 536 | 572 |
| 537 DEF_BENCH( return new FixedMathBench(); ) | 573 DEF_BENCH( return new FixedMathBench(); ) |
| OLD | NEW |