我喜欢使用 python 来做几乎所有的事情,并且总是清楚地意识到,如果由于某种原因我要在 python 代码中找到瓶颈(由于 python 的限制),我总是可以使用集成到我的代码中的 C 脚本。
但是,当我开始读一本guide http://www.suttoncourtenay.org.uk/duncan/accu/integratingpython.html关于如何集成Python。作者在文章中说道:
人们可能希望用 C 或 C++ 扩展 Python 的原因有多种,例如:
- 调用现有库中的函数。
- 向 Python 添加新的内置类型
- 优化代码中的内循环
- 将 C++ 类库公开给 Python
- 将 Python 嵌入到 C/C++ 应用程序中
与性能无关。那么我再问一下,为了性能,把python和c结合起来合理吗?
根据我的经验,很少需要使用 C 进行优化。我更喜欢完全在 Python 中识别瓶颈并改进这些领域的算法。使用哈希表、缓存以及重新组织数据结构以满足未来的需求对于加快程序速度具有惊人的潜力。随着程序的开发,您将更好地了解可以预先计算哪些材料,因此不要害怕返回并重做您的存储和算法。此外,寻找“一石二鸟”的机会,例如在渲染对象时对其进行排序,而不是进行大量排序。
当一切都尽你所知时,我会考虑使用像这样的优化器Psyco http://psyco.sourceforge.net/。仅通过使用 Psyco 并向我的程序添加一行,我就体验到了 10 倍的性能提升。
如果一切都失败了,在适当的地方使用 C,你就会得到你想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)