首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从C-python调用pypy函数

从C-python调用pypy函数
EN

Stack Overflow用户
提问于 2013-12-24 07:29:21
回答 3查看 1.1K关注 0票数 2

我想用matplotlib绘制CPU密集型函数。我想使用pypy,但它与matplotlib不兼容。绘图本身并不是CPU密集型的,不需要加速。我想知道是否有从function调用pypy函数的方法。我(Ab)可以使用多处理模块来表示来自C-python的set_executable("/.../pypy")吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-24 08:12:50

您可以将计算结果写入stdout,并将其传输到另一个程序,该程序从stdin读取要绘制的数据,如下所示:

代码语言:javascript
复制
pypy compute.py | python plot.py 

作为中间格式,您可以使用像JSON这样的格式,这种格式可以在pypy和cpython的标准库中使用,并且可以轻松地从python原语转换到python原语。

或者,compute.py可以使用子进程模块在CPython中启动plot.py,而不是依赖于由shell安排的管道。

或者,您可以使用泡菜,它可以保存关于python对象的更多信息,但是要小心,因为泡菜不是一种很好的标准化格式。

如果您使用的CPython和Pypy的最新版本,您可以尝试的另一个选择是multiprocessing.connection模块的侦听器和客户端类。注意,跨python实现监听器和客户端在一些早期版本的Python (python和pypy之间的多处理侦听器和客户端)中被破坏了。multiprocessing.manager模块也可能在不同的cpython和pypy之间工作。

票数 2
EN

Stack Overflow用户

发布于 2013-12-24 07:39:42

如果您具有CPU密集型功能,最好的选择是:

( A)看看numpy能不能帮上忙

( B)看看是否可以在python中优化这些函数,

考虑为您的函数编写C扩展。

( D)考虑在pypy中嵌入cpython和matplotlib,如这里所示。

票数 0
EN

Stack Overflow用户

发布于 2015-05-23 07:54:46

您可以使用execnet连接不同的Python解释器有几个外鼓室

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20756732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档