首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在生成器上迭代的循环的细胞化

在生成器上迭代的循环的细胞化
EN

Stack Overflow用户
提问于 2014-05-31 00:00:31
回答 1查看 2.9K关注 0票数 4

我有Python代码,它有很多循环,使用Python生成器中的数据。一些还可以重新生成处理过的数据。这是一个瓶颈,我想加快这个部分,并考虑使用Cython。

什么是建议的方法来处理发电机和产量。我想

  • 将Python生成器转换为没有数据副本的Cython
  • 让Cython循环使用由for生成器生成的数据
  • 像生成器一样的产量数据

我想这是一个足够普遍的用例,建议采取什么方法来做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2014-06-01 19:06:37

一些建议:

  • Cython支持开箱即用的生成器,因此您应该尝试将带生成器的Python代码传递给cython,并查看所得到的加速比。
  • 下一步是向循环中添加尽可能多的静态类型信息,以加快生成器所做的工作。
  • Python生成器很酷,但是如果性能很重要,那么它们不是最快的方法。将瓶颈转换为使用连续数组要好得多。
  • 查看Cython的输入内存视图。
  • 您还可以将Cython与C++ std::vectors和其他高性能容器对象一起使用。

我们需要更多关于您的目标和约束的信息,以便在这里提供更多的帮助。一个简化的例子将是有帮助的。

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

https://stackoverflow.com/questions/23965028

复制
相关文章

相似问题

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