之前说的可能存在的数据复制
try:
input_data[name] = source_proxy.emit_output_data()[source_port_name]
except KeyError:
input_data[name] = np.atleast_2d(0)
source_proxy.emit_output_data()
是proxy
调用的对应system
的一个getter方法,返回的是system
的属性self.output_data
。该属性是一个字典,函数返回字典没有大规模复制发生
师兄指导看了C++和python的混合编程pybind11,因为stateSpace模块修改后性能没有明显提升,怀疑是字典和numpy数组转换开销比较大,还在研究。
准备将之前对求解器的修改加上来看一下。
本文章使用limfx的vscode插件快速发布