Pab*_*och 13 c python performance
在不同的项目上工作,只要任务完成,我就可以选择不同的编程语言.
我想知道在Python中编写程序与在C中编写程序之间在性能方面的真正区别是什么.
要完成的任务是多种多样的,例如排序文本文件,磁盘访问,网络访问,文本文件解析.
例如,在C与Python中使用相同的算法排序文本文件之间是否存在明显的差异?
根据您的经验,考虑到当前CPU(i7)的强大功能,它是否真的是一个显着的差异(考虑到它的程序不会让系统瘫痪).
谢谢!:)
jsh*_*hen 37
使用python直到遇到性能问题.如果你有一个弄清楚问题是什么(通常不是你预先猜到的).然后解决可能是算法或数据结构变化的特定性能问题.在极少数情况下,您的问题确实需要C,那么您可以在C中编写该部分并从您的python代码中使用它.
laz*_*tor 11
C几乎可以在任何性能类别中粉碎Python,但是C编写和维护起来要困难得多,并且高性能并不总是值得花费更多的时间和开发难度.
你说你正在做文本文件处理之类的事情,但你省略的是你正在做多少文本文件处理.如果你每小时处理1000万个文件,你可能会因用C语言编写而受益.但如果你每小时处理100个文件,为什么不使用python?你真的需要能够在10ms和50ms之间处理文本文件吗?如果您正在计划未来,请问自己,"这是否可以在以后投入更多硬件?"
用C编写可靠代码很难.确保你可以证明这项投资是合理的.
Cha*_*ion 10
通常,IO绑定工作将更多地取决于算法然后取决于语言.在这种情况下,我会使用Python,因为它将具有第一类字符串和许多易于使用的库来操作文件等.
例如,在C与Python中使用相同的算法排序文本文件之间是否存在明显的差异?
是.
明显的差异是这些
Python代码要少得多.
Python代码更容易阅读.
Python支持非常好的单元测试,因此Python代码往往质量更高.
您可以更快地编写Python代码,因为语言特征较少.例如,没有预处理器可以真正节省大量的黑客攻击.超级经验的C程序员几乎没有注意到它.但所有#include
夹心的东西和使.h
文件正确是非常耗时的.
Python可以更容易打包和部署,因为您不需要一个非常花哨的make脚本来进行构建.
归档时间: |
|
查看次数: |
12274 次 |
最近记录: |