| Taskflow: A General-purpose Task-parallel Programming System

Loading...
Searching...
No Matches
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