Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(542)

Issue 2260823002: Use ARMv8 CRC32 instructions for SkOpts::hash(). (Closed)

Created:
4 years, 4 months ago by mtklein_C
Modified:
4 years, 3 months ago
Reviewers:
msarett
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Use ARMv8 CRC32 instructions for SkOpts::hash(). For large inputs, this runs ~11x faster than Murmur3. My bench drops from 1µs to 88ns. Like x86-64, this runs fastest if we work in 24 byte chunks. 16 byte chunks run at about 0.75x this speed, 8 byte chunks at about 0.4x (which would still be about 5x faster than Murmur3). This'll require plumbing support for opts_crc32 into Chrome first before it can roll. perf.skia.org charts we want to watch: https://perf.skia.org/#5490 Seach for compute_hash in these logs to see the difference: baseline: https://luci-milo.appspot.com/swarming/task/30ba22f3dfe30e10/steps/nanobench/0/stdout trybot: https://luci-milo.appspot.com/swarming/task/30bbc406cbf62d10/steps/nanobench/0/stdout BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2260823002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Committed: https://skia.googlesource.com/skia/+/78559a78f9d3e6444f8c0c9443696699703d6531

Patch Set 1 #

Patch Set 2 : use defined() consistently #

Patch Set 3 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+58 lines, -8 lines) Patch
M gyp/opts.gypi View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/core/SkOpts.cpp View 1 1 chunk +8 lines, -1 line 0 comments Download
M src/opts/SkChecksum_opts.h View 2 chunks +46 lines, -2 lines 0 comments Download
A + src/opts/SkOpts_crc32.cpp View 1 chunk +3 lines, -4 lines 0 comments Download

Messages

Total messages: 17 (13 generated)
mtklein_C
4 years, 4 months ago (2016-08-19 13:08:19 UTC) #6
msarett
lgtm
4 years, 4 months ago (2016-08-19 13:47:11 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2260823002/40001
4 years, 3 months ago (2016-08-22 15:52:45 UTC) #15
commit-bot: I haz the power
4 years, 3 months ago (2016-08-22 15:53:48 UTC) #17
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://skia.googlesource.com/skia/+/78559a78f9d3e6444f8c0c9443696699703d6531

Powered by Google App Engine
This is Rietveld 408576698