2460bbdfbb
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
43 lines
941 B
Python
43 lines
941 B
Python
# GYP file to build pathops unit tests.
|
|
{
|
|
'includes': [
|
|
'apptype_console.gypi',
|
|
],
|
|
'targets': [
|
|
{
|
|
'target_name': 'pathops_unittest',
|
|
'type': 'executable',
|
|
'includes': [
|
|
'pathops_unittest.gypi',
|
|
],
|
|
'dependencies': [
|
|
'flags.gyp:flags_common',
|
|
'tools.gyp:crash_handler',
|
|
],
|
|
'sources': [
|
|
'../tests/PathOpsAngleIdeas.cpp',
|
|
'../tests/PathOpsCubicLineIntersectionIdeas.cpp',
|
|
'../tests/PathOpsDebug.cpp',
|
|
'../tests/PathOpsOpLoopThreadedTest.cpp',
|
|
'../tests/skia_test.cpp',
|
|
],
|
|
'conditions': [
|
|
[ 'skia_android_framework == 1', {
|
|
'libraries': [
|
|
'-lskia',
|
|
],
|
|
'libraries!': [
|
|
'-lz',
|
|
'-llog',
|
|
],
|
|
}],
|
|
[ 'skia_gpu == 1', {
|
|
'include_dirs': [
|
|
'../src/gpu',
|
|
],
|
|
}],
|
|
],
|
|
},
|
|
],
|
|
}
|