Python社区发布了有用的参考资料,展示了如何分析Python代码,以及C或Cython中Python扩展的技术细节.我仍在搜索教程,但是,对于非平凡的Python程序,显示如下:
- 如何通过转换为C扩展来识别将从优化中受益的热点
- 同样重要的是,如何识别不会从转换为C扩展中受益的热点
- 最后,如何使用Python C-API或(甚至可能更好)使用Cython进行从Python到C的适当转换.
一个好的教程将为读者提供一种方法,通过完成一个完整的例子来说明如何推理优化问题.我没有成功找到这样的资源.
你知道(或有你写过)这样的教程吗?
为了澄清,我对仅涵盖以下内容的教程不感兴趣:
- 使用(c)Profile来分析Python代码以测量运行时间
- 使用工具检查配置文件(我推荐RunSnakeRun)
- 通过选择更合适的算法或Python构造进行优化(例如,用于成员资格测试而不是列表的集合); 本教程应该假设算法和Python代码已经是最优的,并且我们处于C扩展是下一个逻辑步骤的位置
- 重新编写关于编写C扩展的Python文档,这已经很好地作为参考,但作为显示何时以及如何从Python移动到C的资源无用.