gpt4 book ai didi

python - 循环遍历生成器的 Cythonizing for 循环

转载 作者:太空狗 更新时间:2023-10-30 02:20:19 25 4
gpt4 key购买 nike

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

处理生成器和产量的推荐方法是什么。我愿意

  • 在没有数据副本的情况下将 Python 生成器转换为 Cython
  • 使 Cython for 循环使用 Python 生成器生成的数据
  • 像发电机一样产生数据

我想这是一个足够常见的用例,推荐的方法是什么。

最佳答案

一些建议:

  • Cython 支持开箱即用的生成器,因此您应该尝试将带有生成器的 Python 代码传递给 cython,看看您获得了什么样的加速。
  • 下一步是向循环中添加尽可能多的静态类型信息,以加快生成器正在执行的工作。
  • Python 生成器很酷,但如果性能很重要,它们就不是最快的处理方式。将瓶颈转化为使用连续数组会更好。
  • 查看 Cython 的类型化内存 View 。
  • 您还可以将 Cython 与 C++ std::vectors 和其他高性能容器对象一起使用。

我们需要更多关于您的目标和限制的信息,以便在此处提供更多帮助。精简示例会有所帮助。

关于python - 循环遍历生成器的 Cythonizing for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23965028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com