每隔两个月,当我太累了,不能重新发明/移植一些东西并在Python中找到一些很酷的代码时,我会在google上搜索“callpython from.NET”。两种流行的解决方案是启动外部进程或使用IronPython
IronPython不是我的选择,因为我想使用Python的原因通常是一些依赖于NumPy/ScyPy的库。在
最近我开始学习C++的基础知识,发现可以在C++中嵌入Python,并且找到了一个article with an example。在通过.p/援引,很容易从.NET调用C++。所以我的场景是用.NET中的数据调用一些Python脚本并返回结果。在
在我开始深入研究之前,我想问一下是否有人尝试过这种方法,这是可行的还是有更好的方法?在
具体来说
性能是一个问题:主要用例是在实时数据的滑动窗口上做一些数值工作。我觉得经常打电话的外部流程很慢-如果我错了请纠正我?在
我在下面用过一次方式:-在
有一个C#dll,我需要从中查询数据。因此,我开发了C++/CLI模块,与DLL交互,并处理了与该数据对应的一些委托和事件。然后C++模块接受该数据,处理它并将其发送到Python模块。在
python和c++之间的差距是用zmq(替换普通套接字)和googleprotocolbuffers(序列化和反序列化机制)来填补的。Python所做的就是向C++发送请求,然后将其传递给C++/CLI模块,在获取数据时,它会推动ZMQ到Python…在
考虑在一个单独的线程中生成一个python实例作为一个处理服务器-您可以使用消息将数据传递给它并从中返回,如果耦合松散,这可能比外部调用工作得好得多,这意味着您的数字处理在GUI的单独核心上。您还将跳过为每个调用加载新进程所固有的处理时间。在
相关问题 更多 >
编程相关推荐