baidu / babylon

High-Performance C++ Fundamental Library
Apache License 2.0
485 stars 61 forks source link

anyflow 是每次执行都要创建graph吗 #54

Closed dandyhuang closed 1 month ago

dandyhuang commented 1 month ago

看代码,会有内存泄漏的情况吗build、depend、emit

oathdruid commented 1 month ago

每次执行创建一个新的graph,只要执行结束之后记得销毁掉(返回的默认在unique_ptr,按作用域会自动销毁),泄露应该是不会的;

不过内部实际使用时候一般是通过再用ObjectPool包装一层来实现反复利用。一般来讲,因为graph的data节点实际持有了发布数据,反复利用graph还可以实现反复使用这些结构的能力,能再节省一些动态内存的申请和释放的开销;

dandyhuang commented 1 month ago

我看看,多谢