From 2460bbdfbb1d55ef307c3189c661e65de1a7affb Mon Sep 17 00:00:00 2001 From: mtklein Date: Wed, 3 Sep 2014 14:17:48 -0700 Subject: Revert of SkThreadPool ~~> SkTaskGroup (patchset #4 id:60001 of https://codereview.chromium.org/531653002/) Reason for revert: Leaks, leaks, leaks. Original issue's description: > SkThreadPool ~~> SkTaskGroup > > SkTaskGroup is like SkThreadPool except the threads stay in > one global pool. Each SkTaskGroup itself is tiny (4 bytes) > and its wait() method applies only to tasks add()ed to that > instance, not the whole thread pool. > > This means we don't need to bring up new thread pools when > tests themselves want to use multithreading (e.g. pathops, > quilt). We just create a new SkTaskGroup and wait for that > to complete. This should be more efficient, and allow us > to expand where we use threads to really latency sensitive > places. E.g. we can probably now use these in nanobench > for CPU .skp rendering. > > Now that all threads are sharing the same pool, I think we > can remove most of the custom mechanism pathops tests use > to control threading. They'll just ride on the global pool > with all other tests now. > > This (temporarily?) removes the GPU multithreading feature > from DM, which we don't use. > > On my desktop, DM runs a little faster (57s -> 55s) in > Debug, and a lot faster in Release (36s -> 24s). The bots > show speedups of similar proportions, cutting more than a > minute off the N4/Release and Win7/Debug runtimes. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/9c7207b5dc71dc5a96a2eb107d401133333d5b6f R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, reed@google.com, mtklein@chromium.org TBR=bsalomon@google.com, bungeman@google.com, caryclark@google.com, mtklein@chromium.org, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/533393002 --- tests/OnceTest.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'tests/OnceTest.cpp') diff --git a/tests/OnceTest.cpp b/tests/OnceTest.cpp index 192abaaee3..389d257b73 100644 --- a/tests/OnceTest.cpp +++ b/tests/OnceTest.cpp @@ -6,7 +6,7 @@ */ #include "SkOnce.h" -#include "SkTaskGroup.h" +#include "SkThreadPool.h" #include "Test.h" static void add_five(int* x) { @@ -42,7 +42,7 @@ public: }; DEF_TEST(SkOnce_Multithreaded, r) { - const int kTasks = 16; + const int kTasks = 16, kThreads = 4; // Make a bunch of tasks that will race to be the first to add six to x. Racer racers[kTasks]; @@ -54,11 +54,11 @@ DEF_TEST(SkOnce_Multithreaded, r) { } // Let them race. - SkTaskGroup tg; + SkThreadPool pool(kThreads); for (int i = 0; i < kTasks; i++) { - tg.add(&racers[i]); + pool.add(&racers[i]); } - tg.wait(); + pool.wait(); // Only one should have done the +=. REPORTER_ASSERT(r, 6 == x); -- cgit v1.2.3