Release 2.3.0 (2020/02/27)
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
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