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

Issue 285313002: SSE2 implementation of memcpy32 (Closed)

Created:
6 years, 7 months ago by qiankun
Modified:
6 years, 7 months ago
Reviewers:
mtklein, bsalomon, reed1
CC:
skia-review_googlegroups.com, reed1
Base URL:
https://skia.googlesource.com/skia.git@master
Visibility:
Public.

Description

SSE2 implementation of memcpy32 With SSE2 version memcpy32, S32_Opaque_BlitRow32() in SkBlitRow_D32.cpp has about 30% performance improvement. Here are the data on desktop i7-3770. before: bitmap_scale_filter_90_90 8888: cmsecs = 2.01 bitmaprect_FF_filter_trans 8888: cmsecs = 3.61 bitmaprect_FF_nofilter_trans 8888: cmsecs = 3.57 bitmaprect_FF_filter_identity 8888: cmsecs = 3.53 bitmaprect_FF_nofilter_identity 8888: cmsecs = 3.53 bitmap_4444_update 8888: cmsecs = 4.84 bitmap_4444_update_volatile 8888: cmsecs = 4.81 bitmap_4444 8888: cmsecs = 4.81 after: bitmap_scale_filter_90_90 8888: cmsecs = 1.83 bitmaprect_FF_filter_trans 8888: cmsecs = 2.36 bitmaprect_FF_nofilter_trans 8888: cmsecs = 2.36 bitmaprect_FF_filter_identity 8888: cmsecs = 2.60 bitmaprect_FF_nofilter_identity 8888: cmsecs = 2.63 bitmap_4444_update 8888: cmsecs = 3.30 bitmap_4444_update_volatile 8888: cmsecs = 3.30 bitmap_4444 8888: cmsecs = 3.29 BUG=skia: Committed: http://code.google.com/p/skia/source/detail?r=14822

Patch Set 1 #

Total comments: 8

Patch Set 2 : rebase and fix comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+103 lines, -1 line) Patch
M include/core/SkUtils.h View 1 chunk +9 lines, -0 lines 0 comments Download
M src/core/SkBlitRow_D32.cpp View 1 chunk +1 line, -1 line 0 comments Download
M src/core/SkUtils.cpp View 3 chunks +46 lines, -0 lines 0 comments Download
M src/opts/SkUtils_opts_SSE2.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/opts/SkUtils_opts_SSE2.cpp View 1 1 chunk +30 lines, -0 lines 0 comments Download
M src/opts/SkUtils_opts_arm.cpp View 1 chunk +4 lines, -0 lines 0 comments Download
M src/opts/SkUtils_opts_none.cpp View 1 chunk +4 lines, -0 lines 0 comments Download
M src/opts/opts_check_x86.cpp View 1 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
qiankun
PTAL.
6 years, 7 months ago (2014-05-15 07:46:43 UTC) #1
mtklein
So, I can reproduce improvements in those bitmap_ benches, but I don't understand it and ...
6 years, 7 months ago (2014-05-15 15:38:30 UTC) #2
qiankun
Not sure why the microbenchmark of different memcpy_* perform almost same. https://codereview.chromium.org/285313002/diff/1/src/opts/SkUtils_opts_SSE2.cpp File src/opts/SkUtils_opts_SSE2.cpp (right): ...
6 years, 7 months ago (2014-05-20 09:35:29 UTC) #3
mtklein
On 2014/05/20 09:35:29, qiankun wrote: > Not sure why the microbenchmark of different memcpy_* perform ...
6 years, 7 months ago (2014-05-20 14:25:42 UTC) #4
qiankun
The CQ bit was checked by qiankun.miao@intel.com
6 years, 7 months ago (2014-05-21 02:00:46 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/qiankun.miao@intel.com/285313002/20001
6 years, 7 months ago (2014-05-21 02:01:24 UTC) #6
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-05-21 02:01:39 UTC) #7
commit-bot: I haz the power
Presubmit check for 285313002-20001 failed and returned exit status 1. Running presubmit commit checks ...
6 years, 7 months ago (2014-05-21 02:01:40 UTC) #8
qiankun
On 2014/05/21 02:01:40, I haz the power (commit-bot) wrote: > Presubmit check for 285313002-20001 failed ...
6 years, 7 months ago (2014-05-21 02:22:49 UTC) #9
reed1
api lgtm We should consider moving most of this (in SkUtils.h) into a private header ...
6 years, 7 months ago (2014-05-21 12:38:02 UTC) #10
reed1
The CQ bit was checked by reed@google.com
6 years, 7 months ago (2014-05-21 12:38:09 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/qiankun.miao@intel.com/285313002/20001
6 years, 7 months ago (2014-05-21 12:38:54 UTC) #12
commit-bot: I haz the power
Change committed as 14822
6 years, 7 months ago (2014-05-21 12:43:09 UTC) #13
f(malita)
On 2014/05/21 12:43:09, I haz the power (commit-bot) wrote: > Change committed as 14822 Perf-ChromeOS-Alex ...
6 years, 7 months ago (2014-05-21 20:30:54 UTC) #14
f(malita)
6 years, 7 months ago (2014-05-22 12:55:21 UTC) #15
Message was sent while issue was closed.
On 2014/05/21 20:30:54, Florin Malita wrote:
> On 2014/05/21 12:43:09, I haz the power (commit-bot) wrote:
> > Change committed as 14822
> 
> Perf-ChromeOS-Alex is crashing in memcpy32_sse2_unalign_10 after this:
>
http://108.170.220.120:10117/builders/Perf-ChromeOS-Alex-GMA3150-x86-Release/...
> 
> (although the blame list points somewhere nearby, we have reasons not to trust
> it)

After running a revert test for this CL, the bot is still crashing. So the
initial blame is misplaced - sorry about the noise.

Powered by Google App Engine
This is Rietveld 408576698