diff options
author | msarett <msarett@google.com> | 2016-07-11 14:57:26 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-07-11 14:57:26 -0700 |
commit | afb8539f62b3e92dcc5dbe0598605f4058a1e03a (patch) | |
tree | 927ec4e6f072f8f74bb5064d6f23048224ce748e /bench/RectBench.cpp | |
parent | bed41afa5f663a6c42f9d4e3f42c46a148f5d44a (diff) |
Revert of try to speed-up maprect + round2i + contains (patchset #8 id:140001 of https://codereview.chromium.org/2133413002/ )
Reason for revert:
Breaking the roll...
https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/253294/steps/compile%20%28with%20patch%29/logs/stdio
Original issue's description:
> try to speed-up maprect + round2i + contains
>
> We call roundOut in a few places. If we can get SkNx::Ceil we could efficiently implement that as well.
>
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2133413002
> CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/b42b785d1cbc98bd34aceae338060831b974f9c5
TBR=mtklein@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/2136343002
Diffstat (limited to 'bench/RectBench.cpp')
-rw-r--r-- | bench/RectBench.cpp | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/bench/RectBench.cpp b/bench/RectBench.cpp index 0f757a2b5f..46a515de29 100644 --- a/bench/RectBench.cpp +++ b/bench/RectBench.cpp @@ -302,93 +302,3 @@ DEF_BENCH(return new BlitMaskBench(SkCanvas::kPoints_PointMode, DEF_BENCH(return new BlitMaskBench(SkCanvas::kPoints_PointMode, BlitMaskBench::KMaskShader, "maskshader");) - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -typedef int (*RectMathProc)(const SkMatrix&, const SkRect[], const SkIRect[], int count); - -class RectMathBench : public Benchmark { - SkString fName; - SkRandom fRand; - SkString fSuffix; - RectMathProc fProc; - -public: - enum { - N = 300, - OUTER = 10000, - }; - SkRect fRects[N]; - SkIRect fIRects[N]; - volatile int fCounter; - - RectMathBench(RectMathProc proc, const char* suffix) { - fProc = proc; - fSuffix.set(suffix); - SkRandom rand; - for (int i = 0; i < N; ++i) { - fRects[i].setXYWH(rand.nextUScalar1() * 100, rand.nextUScalar1() * 100, - rand.nextUScalar1() * 100, rand.nextUScalar1() * 100); - fIRects[i].setXYWH(i, i, 10, 10); - } - } - - bool isVisual() override { return false; } - -protected: - const char* onGetName() override { - fName.printf("rect_math_%s", fSuffix.c_str()); - return fName.c_str(); - } - - void onDraw(int loops, SkCanvas* canvas) override { - SkMatrix mat; - for (int j = 0; j < OUTER; ++j) { - mat.setScaleTranslate(fRand.nextUScalar1(), fRand.nextUScalar1(), - fRand.nextUScalar1(), fRand.nextUScalar1()); - fCounter += fProc(mat, fRects, fIRects, N); - } - } - -private: - typedef Benchmark INHERITED; -}; - -static int rectmath0(const SkMatrix& mat, const SkRect rr[], const SkIRect ir[], int count) { - int counter = 0; - for (int i = 0; i < count; ++i) { - SkRect dst; - mat.mapRectScaleTranslate(&dst, rr[i]); - counter += dst.round().contains(ir[i]); - } - return counter; -} - -static int rectmath1(const SkMatrix& mat, const SkRect rr[], const SkIRect ir[], int count) { - int counter = 0; - for (int i = 0; i < count; ++i) { - SkRect dst; - mat.mapRectScaleTranslate(&dst, rr[i]); - counter += dst.round2i().contains(ir[i]); - } - return counter; -} - -#if 0 -static bool contains(SkIRect outer, SkIRect inner) { - Sk4i le(outer.fLeft, outer.fTop, inner.fRight, inner.fBottom); - Sk4i ge(inner.fLeft, inner.fTop, outer.fRight, outer.fBottom); - return (le <= ge).allTrue(); -} - -static int rectmath3(const SkMatrix& mat, const SkRect rr[], const SkIRect ir[], int count) { - int counter = 0; - for (int i = 0; i < count; ++i) { - counter += contains(mat.mapRectScaleTranslate(rr[i]).round2i(), ir[i]); - } - return counter; -} -#endif - -DEF_BENCH(return new RectMathBench(rectmath0, "0");) -DEF_BENCH(return new RectMathBench(rectmath1, "1");) |