aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/Matrix44Bench.cpp
diff options
context:
space:
mode:
authorGravatar shawnsingh@chromium.org <shawnsingh@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-08-28 05:07:26 +0000
committerGravatar shawnsingh@chromium.org <shawnsingh@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-08-28 05:07:26 +0000
commit63bf68df05b965d80875d4f3c9b30b0fa456762e (patch)
tree2a4705f1bc6955b33f84a0e18d4a29ca450bb9fb /bench/Matrix44Bench.cpp
parent7687578d3a42b528f536c2f3437104fac04c4ae4 (diff)
Add performance benchmark before landing perf improvements that remove sk_bezero in SkMatrix44
BUG=skia:1558 R=jvanverth@google.com Review URL: https://codereview.chromium.org/22872015 git-svn-id: http://skia.googlecode.com/svn/trunk@10967 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'bench/Matrix44Bench.cpp')
-rw-r--r--bench/Matrix44Bench.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/bench/Matrix44Bench.cpp b/bench/Matrix44Bench.cpp
index 7baf82ae4d..c3692889fc 100644
--- a/bench/Matrix44Bench.cpp
+++ b/bench/Matrix44Bench.cpp
@@ -58,6 +58,27 @@ private:
typedef Matrix44Bench INHERITED;
};
+class SetIdentityMatrix44Bench : public Matrix44Bench {
+public:
+ SetIdentityMatrix44Bench(void* param) : INHERITED(param, "setidentity") {
+ double rowMajor[16] =
+ { 1, 2, 3, 4,
+ 5, 6, 7, 8,
+ 9, 10, 11, 12,
+ 13, 14, 15, 16};
+ mat.setRowMajord(rowMajor);
+ }
+protected:
+ virtual void performTest() {
+ for (int i = 0; i < 10; ++i) {
+ mat.setIdentity();
+ }
+ }
+private:
+ SkMatrix44 mat;
+ typedef Matrix44Bench INHERITED;
+};
+
class PreScaleMatrix44Bench : public Matrix44Bench {
public:
PreScaleMatrix44Bench(void* param) : INHERITED(param, "prescale") {
@@ -232,6 +253,7 @@ private:
typedef Matrix44Bench INHERITED;
};
+DEF_BENCH( return new SetIdentityMatrix44Bench(p); )
DEF_BENCH( return new EqualsMatrix44Bench(p); )
DEF_BENCH( return new PreScaleMatrix44Bench(p); )
DEF_BENCH( return new PostScaleMatrix44Bench(p); )