skia2/tools
mtklein 00b621cfc0 Add sk_parallel_for()
This should be a drop-in replacement for most for-loops to make them run in parallel:
   for (int i = 0; i < N; i++) { code... }
   ~~~>
   sk_parallel_for(N, [&](int i) { code... });

This is just syntax sugar over SkTaskGroup to make this use case really easy to write.
There's no more overhead that we weren't already forced to add using an interface like batch(),
and no extra heap allocations.

I've replaced 3 uses of SkTaskGroup with sk_parallel_for:
  1) My unit tests for SkOnce.
  2) Cary's path fuzzer.
  3) SkMultiPictureDraw.
Performance should be the same.  Please compare left and right for readability. :)

BUG=skia:

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1184373003
2015-06-17 15:26:15 -07:00
..
chromium Cleanup of SSE optimization files. 2014-04-30 14:58:46 +00:00
copyright
flags Label some unused static vars as SK_UNUSED 2015-06-10 10:46:50 -07:00
lua change isNestedRect to isNestedFillRect 2015-04-08 08:34:15 -07:00
skp Replace self.NavigateToPage with self.Navigate(self.url) for skia page sets 2015-05-16 15:47:02 -07:00
skpdiff Add sk_parallel_for() 2015-06-17 15:26:15 -07:00
timer Have DM and nanobench display times in minutes when they're above 60 seconds. 2015-03-12 10:29:32 -07:00
__init__.py
add_codereview_message.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
AndroidSkDebugToStdOut.cpp Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
bench_pictures_cfg_helper.py Remove SkTileGrid (except for TileGridInfo). 2015-01-09 06:41:48 -08:00
bench_pictures_main.cpp Revert of Add image as a draw type that can be filtered (patchset #4 id:60001 of https://codereview.chromium.org/960783003/) 2015-03-05 06:33:54 -08:00
bench_pictures.cfg Removes Record configs from buildbot bench_pictures runs. 2014-06-18 05:59:55 -07:00
chrome_fuzz.cpp quickie tool to exercise chrome filter fuzz files 2015-05-12 08:36:48 -07:00
compare_codereview.py Further tweak compare_codereview.py. 2014-03-25 18:02:17 +00:00
CopyTilesRenderer.cpp Store context options on caps. 2015-05-22 14:01:46 -07:00
CopyTilesRenderer.h Store context options on caps. 2015-05-22 14:01:46 -07:00
coverage.sh increase coverage of SkPath.cpp, remove unused code 2013-11-14 16:53:22 +00:00
CrashHandler.cpp Remove all code related to NaCl 2015-04-02 12:16:36 -07:00
CrashHandler.h rewrite ambiguous comment 2015-02-10 07:47:31 -08:00
create_test_font.cpp PDF expects fonts to map glyph ID 0 to the missing character. 2015-06-11 09:40:44 -07:00
dm_flags.json Stop running SKPs in DM on the bots. 2015-06-12 11:31:51 -07:00
dm_flags.py Stop running SKPs in DM on the bots. 2015-06-12 11:31:51 -07:00
doxygen_footer.txt
dump_record.cpp Make SkStream *not* ref counted. 2015-01-21 12:09:53 -08:00
DumpRecord.cpp option to return drawable from recording 2014-11-24 14:41:51 -08:00
DumpRecord.h Factor out DumpRecord method from dump_record tool for later use 2014-05-15 16:10:37 +00:00
embed_resources.py Add option to embed font data into executable. 2015-03-30 12:53:48 -07:00
filtermain.cpp Remove SkPictureFlat.h include from SkDrawCommands.h 2015-02-13 11:13:00 -08: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
generate_includes_cpp.py fix for the msvs gyp generator that produces nonposix path separators 2014-11-25 08:25:29 -08:00
git-skia-verify
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 Change SkPicture::draw to playback 2014-09-04 08:42:50 -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
imgconv.cpp version 0 of imgconv tool 2014-12-17 13:08:17 -08:00
install_dependencies.sh doc: add quickstart to linux and macos 2015-04-28 13:06:54 -07:00
iOSShell.cpp Landing directly for testing the ios buildbot code. 2015-04-21 08:31:59 -07:00
iOSShell.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
jsondiff.py tools: Remove reference to svndiff. 2014-10-24 17:21:41 -02:00
LazyDecodeBitmap.cpp guarded change to SkImageGenerator to make getInfo() const 2015-03-19 08:31:14 -07:00
LazyDecodeBitmap.h
lsan.supp Suppress mystery leak. 2014-09-05 10:36:40 -07:00
merge_static_libs.py
mirror-dev.sh Land Ben's 32-bit symlink script. 2015-02-03 10:43:28 -05:00
misc_utils.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
nanobench_flags.json nanobench: split CPU and GPU .SKP tile sizes. 2015-06-16 10:41:27 -07:00
nanobench_flags.py nanobench: split CPU and GPU .SKP tile sizes. 2015-06-16 10:41:27 -07:00
OverwriteLine.h ios fixes 2014-07-11 12:14:51 -07:00
pathops_sorter.htm handle large conic strokes better 2015-05-19 11:05:37 -07:00
pathops_visualizer.htm fix builder winding again 2015-05-18 12:56:58 -07:00
picture_utils.cpp "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
picture_utils.h skimage, die die die 2014-12-15 12:47:52 -08:00
PictureBenchmark.cpp Update old tools to allow MultiPictureDraw rendering 2014-10-09 04:59:19 -07:00
PictureBenchmark.h Update old tools to allow MultiPictureDraw rendering 2014-10-09 04:59:19 -07:00
PictureRenderer.cpp Convert PictureRenderer to SkPaintFilterCanvas 2015-06-15 11:48:16 -07:00
PictureRenderer.h Convert PictureRenderer to SkPaintFilterCanvas 2015-06-15 11:48:16 -07:00
PictureRenderingFlags.cpp Store context options on caps. 2015-05-22 14:01:46 -07:00
PictureRenderingFlags.h
PictureResultsWriter.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
pinspect.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
ProcStats.cpp Looks like rssPages * pageSize is overflowing on 32-bit Linux... 2015-04-30 07:35:28 -07:00
ProcStats.h DM+nanobench: print both current and max RSS. 2015-04-30 07:11:22 -07:00
reformat-json.py
render_pdfs_main.cpp C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
render_pictures_main.cpp remove old text contexts and fontcache 2015-04-28 07:04:11 -07:00
Resources.cpp suppress chatty warning about Funkster.ttf not be supported (on mac at least) 2015-06-01 12:51:24 -07:00
Resources.h Move resource fonts to common location. 2015-04-30 17:12:58 -04:00
retrieve_from_googlesource.py Fix submit_try 2014-06-05 07:32:15 -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 call portable font cleanup only once at app end 2015-06-15 06:48:30 -07:00
sk_tool_utils.cpp Revert of Revert of make gm background colors 565 compatible (patchset #1 id:1 of https://codereview.chromium.org/1184123002/) 2015-06-15 06:51:08 -07:00
sk_tool_utils.h Revert of Revert of make gm background colors 565 compatible (patchset #1 id:1 of https://codereview.chromium.org/1184123002/) 2015-06-15 06:51:08 -07:00
skdiff_html.cpp
skdiff_html.h
skdiff_image.cpp "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
skdiff_main.cpp add --listfailingbase option 2015-01-06 07:39:55 -08:00
skdiff_utils.cpp use SkData::NewUninitialized 2014-09-12 12:12:27 -07:00
skdiff_utils.h
skdiff.cpp
skdiff.h Fix usage of SK_BUILD_* defines. 2014-10-06 10:46:51 -07:00
skhello.cpp Remove canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul 2014-12-10 07:24:28 -08:00
skpinfo.cpp Bump min picture version. 2014-12-01 06:56:38 -08: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
test_all.py skimage, die die die 2014-12-15 12:47:52 -08: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_font_index.cpp Today's gm include many differences caused by platform font implementations. 2015-06-10 09:31:09 -07:00
test_font_monospace.cpp PDF expects fonts to map glyph ID 0 to the missing character. 2015-06-11 09:40:44 -07:00
test_font_sans_serif.cpp PDF expects fonts to map glyph ID 0 to the missing character. 2015-06-11 09:40:44 -07:00
test_font_serif.cpp PDF expects fonts to map glyph ID 0 to the missing character. 2015-06-11 09:40:44 -07: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
tsan.supp Clean up poppler code. 2015-03-11 11:55:14 -07:00
valgrind.supp widen leak supression. looks like start_keepalive is sometimes inlined. 2015-03-16 15:06:00 -07:00
VisualBench.cpp Load visualbench pictures one at a time. 2015-06-16 13:52:19 -07:00
VisualBench.h Load visualbench pictures one at a time. 2015-06-16 13:52:19 -07:00
win_dbghelp.cpp More win64 warning fixes. 2015-01-29 07:44:24 -08:00
win_dbghelp.h
win_lcid.cpp
xsan_build simplify tools/xsan_build now that make runs ninja 2014-04-24 18:16:13 +00:00