llvm-project/lldb/unittests
Tamas Berghammer ccb367609b Add a new task pool class to LLDB
The purpose of the class is to make it easy to execute tasks in parallel

Basic design goals:
* Have a very lightweight and easy to use interface where a list of
  lambdas can be executed in parallel
* Use a global thread pool to limit the number of threads used
  (std::async don't do it on Linux) and to eliminate the thread creation
  overhead
* Destroy the thread currently not in use to avoid the confusion caused
  by them during debugging LLDB

Possible future improvements:
* Possibility to cancel already added, but not yet started tasks
* Parallel for_each implementation
* Optimizations in the thread creation destroyation code

Differential revision: http://reviews.llvm.org/D13727

llvm-svn: 250820
2015-10-20 12:42:05 +00:00
..
Host Split Socket class into Tcp/Udp/DomainSocket subclasses. 2015-10-15 23:54:09 +00:00
Interpreter Fix linking of unit tests via CMake on Windows. 2015-03-18 16:56:24 +00:00
ScriptInterpreter Convert SWIG typemap string operations to PythonObjects. 2015-10-16 17:51:49 +00:00
Utility Add a new task pool class to LLDB 2015-10-20 12:42:05 +00:00
CMakeLists.txt Port native Python-API to 3.x 2015-10-09 19:45:41 +00:00
gtest_common.h Fix linking of unit tests via CMake on Windows. 2015-03-18 16:56:24 +00:00