diff options
author | mtklein <mtklein@chromium.org> | 2016-08-08 09:06:27 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-08 09:06:28 -0700 |
commit | 4e97607d9a1cef66fac16f347c5ca813ec4f9515 (patch) | |
tree | e523cac97fae89a2abb1ec0d4c1fc87f86e3169f /src/opts/SkOpts_sse42.cpp | |
parent | 9a5a201472c3fb9f02b954ba09ae1ec13ebd50f4 (diff) |
Use sse4.2 CRC32 instructions to hash when available.
About 9x faster than Murmur3 for long inputs.
Most of this is a mechanical change from SkChecksum::Murmur3(...) to SkOpts::hash(...).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2208903002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
Review-Url: https://codereview.chromium.org/2208903002
Diffstat (limited to 'src/opts/SkOpts_sse42.cpp')
-rw-r--r-- | src/opts/SkOpts_sse42.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/opts/SkOpts_sse42.cpp b/src/opts/SkOpts_sse42.cpp new file mode 100644 index 0000000000..1883182192 --- /dev/null +++ b/src/opts/SkOpts_sse42.cpp @@ -0,0 +1,18 @@ +/* + * Copyright 2016 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkOpts.h" + +#define SK_OPTS_NS sse42 +#include "SkChecksum_opts.h" + +namespace SkOpts { + void Init_sse42() { + hash_fn = sse42::hash_fn; + } +} + |