| Index: bench/ChecksumBench.cpp
|
| diff --git a/bench/ChecksumBench.cpp b/bench/ChecksumBench.cpp
|
| index d2497d7f16eecd27b65466814b9f39919a17bc48..b125aa4d1fe3e134ae54e98c94df8647d4b1f3c6 100644
|
| --- a/bench/ChecksumBench.cpp
|
| +++ b/bench/ChecksumBench.cpp
|
| @@ -15,7 +15,8 @@
|
| enum ChecksumType {
|
| kChecksum_ChecksumType,
|
| kMD5_ChecksumType,
|
| - kSHA1_ChecksumType
|
| + kSHA1_ChecksumType,
|
| + kMurmur3_ChecksumType,
|
| };
|
|
|
| class ComputeChecksumBench : public SkBenchmark {
|
| @@ -42,6 +43,8 @@ protected:
|
| case kChecksum_ChecksumType: return "compute_checksum";
|
| case kMD5_ChecksumType: return "compute_md5";
|
| case kSHA1_ChecksumType: return "compute_sha1";
|
| + case kMurmur3_ChecksumType: return "compute_murmur3";
|
| +
|
| default: SK_CRASH(); return "";
|
| }
|
| }
|
| @@ -70,6 +73,12 @@ protected:
|
| sha1.finish(digest);
|
| }
|
| } break;
|
| + case kMurmur3_ChecksumType: {
|
| + for (int i = 0; i < N; i++) {
|
| + volatile uint32_t result = SkChecksum::Murmur3(fData, sizeof(fData));
|
| + sk_ignore_unused_variable(result);
|
| + }
|
| + }break;
|
| }
|
|
|
| }
|
| @@ -83,7 +92,11 @@ private:
|
| static SkBenchmark* Fact0(void* p) { return new ComputeChecksumBench(p, kChecksum_ChecksumType); }
|
| static SkBenchmark* Fact1(void* p) { return new ComputeChecksumBench(p, kMD5_ChecksumType); }
|
| static SkBenchmark* Fact2(void* p) { return new ComputeChecksumBench(p, kSHA1_ChecksumType); }
|
| +static SkBenchmark* Fact3(void* p) { return new ComputeChecksumBench(p, kMurmur3_ChecksumType); }
|
| +
|
|
|
| static BenchRegistry gReg0(Fact0);
|
| static BenchRegistry gReg1(Fact1);
|
| static BenchRegistry gReg2(Fact2);
|
| +static BenchRegistry gReg3(Fact3);
|
| +
|
|
|