簡體   English   中英

Cython化for循環生成器的循環

[英]Cythonizing for loops that iterate over generators

我有Python代碼,有很多循環使用Python生成器的數據。 有些還會產生處理過的數據。 這是一個瓶頸,我想加速這部分,並考慮使用Cython。

什么是處理發電機和產量的推薦方法。 我想要

  • 將Python生成器轉換為Cython而無需數據副本
  • Make Cython for循環使用Python生成器生成的數據
  • 產量數據像發電機

我猜這是一個常見的用例,推薦的方法是什么。

一些建議:

  • Cython支持開箱即用的生成器,所以你應該嘗試將帶有生成器的Python代碼傳遞給cython ,看看你獲得了什么樣的加速。
  • 下一步是在循環中添加盡可能多的靜態類型信息,以加快生成器正在進行的工作。
  • Python生成器很酷,但如果性能很重要,它們並不是最快速的方法。 將轉換瓶頸轉換為使用連續數組更好。
  • 查看Cython的類型化內存視圖。
  • 您還可以將Cython與C ++ std :: vectors和其他高性能容器對象一起使用。

我們需要有關您的目標和限制的更多信息,以便在此提供更多幫助。 一個精簡的例子會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM