Python社区提供了有用的参考资料,展示了如何对Python代码进行性能分析,以及C或Cython中Python扩展的技术细节。但是,对于非平凡的Python程序,我仍在寻找以下内容的教程:
- 如何识别将受益于转换为C扩展的热点
- 同样重要的是,如何确定不会受益于转换为C扩展的热点
- 最后,如何使用Python C-API或(可能更好的选择)使用Cython从Python适当地转换为C。
一个好的教程应该为读者提供一种通过解决完整示例来理解优化问题的方法论。我没有找到这样的资源。
您是否知道(或已经编写)此类教程?
为澄清起见,我不感兴趣的教程仅包括以下内容:
- 使用(c)Profile对Python代码进行性能分析以测量运行时间
- 使用工具来检查配置文件(我推荐RunSnakeRun)
- 通过选择更合适的算法或Python构造(例如,用于成员资格测试的集合而不是列表)进行优化;教程应该假设算法和Python代码已经是最优的,并且我们已到达一个将C扩展作为下一步的逻辑点。
- 重申Python编写C扩展的文档,这已经作为参考文献非常出色,但不适合作为说明何时以及如何从Python转向C的资源。