skia2/tools
mtklein 9c7207b5dc 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:
R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/531653002
2014-09-03 14:06:48 -07:00
..
bug_chomper Fix goauth path 2014-05-14 16:57:49 +00:00
chromium Cleanup of SSE optimization files. 2014-04-30 14:58:46 +00:00
copyright Script to automatically update copyright notices in C/C++ source code. 2011-07-28 14:29:58 +00:00
flags SkThreadPool ~~> SkTaskGroup 2014-09-03 14:06:48 -07:00
lua Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
skpdiff SkThreadPool ~~> SkTaskGroup 2014-09-03 14:06:48 -07:00
tests Add ability to output ImageBaseGSUrl to render_picture and use in rebaseline server. 2014-08-22 04:46:30 -07:00
timer Use __rdtsc on Windows. 2014-07-16 19:59:32 -04:00
__init__.py Add bench_pictures config 2012-12-12 20:13:26 +00:00
add_codereview_message.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
bbh_shootout.cpp Remove SkQuadTree. 2014-08-26 14:07:04 -07:00
bench_pictures_cfg_helper.py Fix bench_pictures.cfg 2013-03-07 20:18:27 +00:00
bench_pictures_main.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
bench_pictures.cfg Removes Record configs from buildbot bench_pictures runs. 2014-06-18 05:59:55 -07:00
bench_playback.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
bench_record.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
buildbot_globals.py Fix submit_try 2014-06-05 07:32:15 -07:00
compare_codereview.py Further tweak compare_codereview.py. 2014-03-25 18:02:17 +00:00
CopyTilesRenderer.cpp Add flag to bench/render pictures 2014-08-18 07:52:17 -07:00
CopyTilesRenderer.h Add flag to bench/render pictures 2014-08-18 07:52:17 -07:00
coverage.sh increase coverage of SkPath.cpp, remove unused code 2013-11-14 16:53:22 +00:00
CrashHandler.cpp Gate CrashHandler with SK_CRASH_HANDLER. 2014-07-02 14:30:47 -07:00
CrashHandler.h Gate CrashHandler with SK_CRASH_HANDLER. 2014-07-02 14:30:47 -07:00
create_test_font.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
doxygen_footer.txt Fix update-doxygen, which fails when skia-autogen is reset 2012-09-26 16:09:43 +00:00
dump_record.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
DumpRecord.cpp SkRecordPartialDraw with less code duplication 2014-09-02 12:03:31 -07:00
DumpRecord.h Factor out DumpRecord method from dump_record tool for later use 2014-05-15 16:10:37 +00:00
filtermain.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
find_bad_images_in_skps.py Make image decoding more fault resistant, less verbose. 2013-10-04 12:46:45 +00:00
find_run_binary.py Create a common utility for finding and running binaries in out/ 2014-02-07 18:41:49 +00:00
fix_pythonpath.py Use new common tools in Python scripts 2014-06-25 11:13:27 -04:00
gcov_shim add a way to get code coverage 2013-09-13 19:32:43 +00:00
gen_bench_expectations_from_codereview.py gen_bench_expectations: use subprocess instead of shell_utils due to buildbot-side name collision 2014-07-02 12:52:34 -07:00
generate_fir_coeff.py Fix metrics on Windows. 2013-07-27 20:37:56 +00:00
git-skia-verify Land http://codereview.appspot.com/6117046/ for Guanqun.Lu@gmail.com 2012-04-24 15:19:23 +00:00
git-sync-deps git-sync-deps: handle recursion and deps_os at the same time 2014-08-26 12:06:47 -07:00
gpuveto.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
image_expectations.cpp Add ability to output ImageBaseGSUrl to render_picture and use in rebaseline server. 2014-08-22 04:46:30 -07:00
image_expectations.h Add ability to output ImageBaseGSUrl to render_picture and use in rebaseline server. 2014-08-22 04:46:30 -07:00
install_dependencies.sh Since we're only using it on Linux now, just require poppler as a system dependency. 2014-05-20 15:07:53 +00:00
iOSShell.cpp SkThreadPool ~~> SkTaskGroup 2014-09-03 14:06:48 -07:00
iOSShell.h ios fixes 2014-07-11 12:14:51 -07:00
jsondiff.py svndiff.py: properly handle empty expectations dictionary 2013-09-04 16:27:16 +00:00
LazyDecodeBitmap.cpp Hide fields in SkImageInfo 2014-09-03 11:54:58 -07:00
LazyDecodeBitmap.h Add the lazy decoder from PictureFlags to SkImageDecoder 2013-07-16 18:21:46 +00:00
lsan.supp Update LSAN suppressions. 2014-08-29 07:55:35 -07:00
merge_static_libs.py Build Skia as a static library 2012-10-10 19:45:51 +00:00
misc_utils.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
OverwriteLine.h ios fixes 2014-07-11 12:14:51 -07:00
pathops_sorter.htm add cubic red option to pathops tool 2014-07-29 12:13:28 -07:00
pathops_visualizer.htm relax quadratic binary search test 2014-08-12 05:49:37 -07:00
picture_utils.cpp Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
picture_utils.h Minor cleanups in picture_utils header file. 2014-06-15 20:10:44 -07:00
PictureBenchmark.cpp Optimize correct picture in bench_pictures when using --bbh 2014-07-29 10:37:03 -07:00
PictureBenchmark.h Move BenchTimer to tools as Timer 2014-06-20 11:29:21 -07:00
PictureRenderer.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
PictureRenderer.h Remove SkQuadTree. 2014-08-26 14:07:04 -07:00
PictureRenderingFlags.cpp Remove SkQuadTree. 2014-08-26 14:07:04 -07:00
PictureRenderingFlags.h Change the name of SkFlags to SkCommandLineFlags. 2013-03-21 19:43:15 +00:00
PictureResultsWriter.h Add --properties for things like gitHash that describe the current nanobench run. 2014-08-20 11:45:00 -07:00
pinspect.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
ProcStats.cpp Print max RSS in GM and nanobench too. 2014-08-19 15:55:55 -07:00
ProcStats.h Print max RSS in GM and nanobench too. 2014-08-19 15:55:55 -07:00
reformat-json.py add reformat-json.py script 2013-07-19 15:45:22 +00:00
render_pdfs_main.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
render_pictures_main.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
Resources.cpp Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
Resources.h ios fixes 2014-07-11 12:14:51 -07:00
retrieve_from_googlesource.py Fix submit_try 2014-06-05 07:32:15 -07:00
roll_deps.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
sanitize_source_files.py Ignore the .git directory in sanitize_source_files, remove .git directory... 2013-09-11 13:01:27 +00:00
sk_tool_utils_flags.h Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
sk_tool_utils_font.cpp fix signed mismatch 2014-07-31 06:36:45 -07:00
sk_tool_utils.cpp Hide fields in SkImageInfo 2014-09-03 11:54:58 -07:00
sk_tool_utils.h Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
skdiff_html.cpp fix warnings 2013-01-07 22:26:05 +00:00
skdiff_html.h Add newline at end of tools/skdiff_html.h to happify the housekeeping bot 2012-12-05 20:30:00 +00:00
skdiff_image.cpp Add stdio include to skdiff_image. 2013-10-11 19:19:10 +00:00
skdiff_main.cpp add a verbose flag to skdiff that shows the progress and status of 2014-05-28 18:26:00 +00:00
skdiff_utils.cpp hide Config in SkImageDecoder -- use SkColorType instead 2014-06-12 17:40:00 -07:00
skdiff_utils.h Sanitizing source files in Skia_Periodic_House_Keeping 2012-12-06 02:01:25 +00:00
skdiff.cpp * Extended skdiff to report alpha channel differences. 2013-01-03 19:23:22 +00:00
skdiff.h * Extended skdiff to report alpha channel differences. 2013-01-03 19:23:22 +00:00
skhello.cpp deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients 2013-12-17 19:22:07 +00:00
skimage_main.cpp Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
skpinfo.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
skpmaker.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
Stats.h Use __rdtsc on Windows. 2014-07-16 19:59:32 -04:00
submit_try Fix submit_try 2014-06-05 07:32:15 -07:00
submit_try.bat Modify submit_try to work on windows 2013-01-24 21:38:51 +00:00
svn.py rebaseline_server: add actual_repo and actual_revision command line options 2014-03-10 18:09:25 +00:00
svndiff.py svndiff for the windows 2013-10-29 13:55:29 +00:00
test_all.py reland "rebaseline_server: download actual-results.json files from GCS instead of SVN" 2014-06-05 10:30:37 -07:00
test_font_data_chars.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
test_font_data.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
test_gpuveto.py Remove dashing from gpu veto 2014-06-18 07:34:39 -07:00
test_image_decoder.cpp Runtime configuration setting for suppressing JPEG decoder errors. 2013-10-14 20:08:48 +00:00
test_pdfs.py Add an SKP to PDF rendered. test_pdfs.py will be hooked up in buildbot testing later. 2012-10-10 15:20:34 +00:00
tsan.supp Remove ability for Release code to call getRefCnt() or getWeakRefCnt(). 2014-07-09 07:52:32 -07:00
valgrind.supp SkThreadPool ~~> SkTaskGroup 2014-09-03 14:06:48 -07:00
win_dbghelp.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-09 07:01:15 +00:00
win_dbghelp.h Collect minidump and print callstack if an app chrashes. 2013-03-08 18:00:16 +00:00
win_lcid.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-04-03 07:01:14 +00:00
xsan_build simplify tools/xsan_build now that make runs ninja 2014-04-24 18:16:13 +00:00