Skip to content

Commit 419174e

Browse files
updated faq
1 parent 66f2268 commit 419174e

3 files changed

Lines changed: 13 additions & 9 deletions

File tree

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ and is by far faster, more expressive, and easier for drop-in integration than e
3232
The following example [simple.cpp](./example/simple.cpp) shows the basic API you need to use Cpp-Taskflow.
3333

3434
```cpp
35-
#include "taskflow.hpp" // the only include you need
35+
#include <taskflow.hpp> // the only include you need
3636

3737
int main(){
3838

@@ -195,7 +195,7 @@ auto B = tf.silent_emplace([] (auto& subflow) {
195195
auto B3 = subflow.silent_emplace([](){}).name("B3");
196196
B1.precede(B3);
197197
B2.precede(B3);
198-
}).name("TaskB");
198+
}).name("B");
199199

200200
A.precede(B); // B runs after A
201201
A.precede(C); // C runs after A
@@ -208,7 +208,7 @@ std::cout << tf.dump_topologies();
208208
```
209209

210210
By default, a subflow graph joins to its parent node.
211-
This guarantees a subflow graph to finish before executing the successors of
211+
This guarantees a subflow graph to finish before the successors of
212212
its parent node.
213213
You can disable this feature by calling `subflow.detach()`.
214214
Detaching the above subflow will result in the following execution flow.
@@ -231,7 +231,7 @@ Detaching the above subflow will result in the following execution flow.
231231

232232
Cpp-Taskflow has an unified interface for static and dynamic tasking.
233233
To create a subflow for dynamic tasking,
234-
emplace a task callable with one argument of type `tf::SubflowBuilder`.
234+
emplace a callable on one argument of type `tf::SubflowBuilder`.
235235

236236
```cpp
237237
auto A = tf.silent_emplace([] (tf::SubflowBuilder& subflow) {});

doc/faq.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ If you cannot find a solution here, please post an issue [here][Github issues].
1111
It has been applied in many academic and industry projects to scale up their existing workload.
1212
A research project [OpenTimer][OpenTimer] has used Cpp-Taskflow to deal with hundreds of millions of tasks.
1313

14+
### Q: What are the differences between Cpp-Taskflow and other tasking libraries?
15+
16+
**A:** From our humble opinion, Cpp-Taskflow is superior in its tasking API, interface, and performance.
17+
In most cases, users can quickly master Cpp-Taskflow to create large and complex dependency graphs
18+
in just a few minutes.
19+
The performance scales very well and is comparable to hard-coded multi-threading.
20+
Of course, the judge is always left for users -:)
21+
1422
## Compile Issues
1523

1624
### Q: I can't get Cpp-Taskflow compiled in my project!
@@ -59,10 +67,6 @@ Try the `dump` method to debug the graph before dispatching your taskflow graph.
5967
If there is no cycle, make sure you are using `future.get()` in the right way,
6068
i.e., not blocking your control flow.
6169
62-
63-
64-
65-
6670
* * *
6771
[Github issues]: https://github.com/cpp-taskflow/cpp-taskflow/issues
6872
[OpenTimer]: https://github.com/OpenTimer/OpenTimer

example/simple.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// TaskA---->TaskB---->TaskD
44
// TaskA---->TaskC---->TaskD
55

6-
#include "taskflow.hpp" // the only include you need
6+
#include <taskflow.hpp> // the only include you need
77

88
int main(){
99

0 commit comments

Comments
 (0)