Release 2.3.0 (2020/02/27)
Cpp-Taskflow 2.3.0 is the 4th release in the 2.x line! This release includes several new changes such as conditional tasking, modified scheduling flows, benchmarks, documentation, and so forth.
Download
Cpp-Taskflow 2.3.0 can be downloaded from here.
New Features
- Added full C++14/17/20 support
- Added a thread-safe object pool motivated by Hoard memory allocator
- Added condition tasks in support for conditional tasking (see Conditional Tasking)
- Added tf::
Task:: has_work to detect if a task is a placeholder - Added tf::
Task:: for_each_successor, tf:: Task:: for_each_dependent, and tf:: Taskflow:: for_each_task, tf:: TaskView:: for_each_successor, tf:: TaskView:: for_each_dependent to support graph traversal - Modified the task scheduling flow
- Modified tf::Taskflow::parallel_for to take a chunk size instead of a partition number
- Modified tf::
Executor to be thread-safe (see Executor) - Enhanced the performance of work stealing
- Enhanced unit tests
Bug Fixes
- Fixed the stack overflow problem in zero worker execution
- Fixed the missing comma in output execution timelines from an executor
- Fixed the bug in empty taskflow
Deprecated Items
- Removed zero worker thread support in execution
- Removed gather method in task handle
- Removed std::
vector and std:: initializer_list support in task's preceed/succeed methods - Removed taskflow::silent_emplace method