Comments (1)
您好,对应的代码思路,和工程不符和。group 中信息,包含的内容,仅包含本group内一层。
修改后的逻辑,如下所示:
void tutorial_simple() {
/*
Node0
/ \
Node1 Node2
\ /
Node3
|
条件1
/ \
Node4 Node5
|
条件2
/ \
Node6 Node7
*/
GPipelinePtr pipeline = GPipelineFactory::create();
GElementPtr node0, node1, node2, node3,node4,node5,node6,node7 = nullptr;
node4 = pipeline->createGNode<MyNode1>(GNodeInfo({}, "node4", 1));
node5 = pipeline->createGNode<MyNode1>(GNodeInfo({}, "node5", 1));
node6 = pipeline->createGNode<MyNode1>(GNodeInfo({}, "node6", 1));
node7 = pipeline->createGNode<MyNode1>(GNodeInfo({}, "node7", 1));
// 在 cluster1 中,先执行 node4的逻辑,在执行 condition{node6, node7} 逻辑
GElementPtr cluster1 = pipeline->createGGroup<GCluster>(
{
node4,
pipeline->createGGroup<MyCondition>({node6, node7})
}
);
GElementPtr condition1 = pipeline->createGGroup<MyCondition>({ cluster1, node5});
CStatus status = pipeline->registerGElement<MyNode1>(&node0, {}, "node0", 1);
status += pipeline->registerGElement<MyNode1>(&node1, { node0 }, "node1", 1);
status += pipeline->registerGElement<MyNode1>(&node2, { node0 }, "node2", 1);
status += pipeline->registerGElement<MyNode1>(&node3, { node1,node2 }, "node3", 1);
status += pipeline->registerGElement<GRegion>(&condition1, { node3 }, "condition1", 1);
pipeline->process();
GPipelineFactory::remove(pipeline);
}
btw,当前最新版本中,有 pipeline->dump() 的逻辑,可以帮助快速查看 dag结构图,
也加入了一些调度优化的思路,推荐升级。
from cgraph.
Related Issues (20)
- 这里是纯串行的,考虑将这一块并发执行,从而提升性能 HOT 1
- 在 element getGParam 的时候,记录一下key 信息
- 这里格式有点问题,修改掉好了
- 这里要放开一下,下面加上注释信息
- 这个可以删除吧,应该没有用的
- 并发的情况下,考虑根据并发数,依次送入任务的流程 HOT 2
- 优化添加切面的方式 HOT 1
- 优化一下 perf的方式
- 兼容 安卓的那个判断,给删掉吧 HOT 2
- 期望有一个notify ASYNC EVENT的实例! HOT 6
- 这里应该是 CStruct 的结构体
- CStruct 的地方,优化一下
- readme 中说一下流水线调度的事情
- 提供 int 的构造函数
- [BUG] GRegion 两层嵌套,卡死问题 HOT 1
- 超时机制导致element 切割两份commit,出现循环依赖 HOT 3
- 这里注意一下 返回类型的设定
- 在linux or mac上,通过 epoll 来实现 定时器的功能
- run 方法结束之后,提供一个 check 的方法
- 异步事件,写入的时候加锁
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cgraph.