任何“XXX语言太慢”的观念都是以偏概全。 应用程序分很多种,CPU bound, I/O bound, Memory bound, 等等。如果你的程序属于I/O bound,即使你把整个程序换成手工优化过的C,速度不会有本质提升。 对于Dropbox来说,其业务逻辑不复杂,性能瓶颈显然在I/O. 除了我估计判重时的 SHA 运算量比较大,但 CPython 的一大优势便是很容易使用 C 写模块,找到 hot spot 后再用 C 来写也不迟。"Premature optimization is the root of all evil." 既然如此,使用一种性能稍差但易读易写、生态系统完善、跨平台、迭代迅速的语言便是顺理成章的了。 更何况,Guido, Python 的作者,已经被 Dropbox 挖走了。
参考资料: William
Ting's answer to Python (programming language): How can some really
large services (like Dropbox) afford to use Python as a primary
language, if it's one to two orders of magnitude slower than other,
compiled languages?
大型服务使用 Python 作为主要语言的,我知道比较有名的是 Dropbox,YouTube,Quora 和知乎。其实分析Dropbox和YouTube为啥使用 Python意义并不大,因为Dropbox的文件同步和 YouTube 的在线视频这种核心的功能,我相信都不是用 Python 来完成的。
引用出处: Quora Infrastructure: Why did Quora choose Python for its development?
我记得有句话是这么说的: 一只木桶盛水的多少,并不取决于桶壁上最高的那块木块,而恰恰取决于桶壁上最短的那块 还有一句话是这么说的: 一条铁链的承重量是由它最脆弱的那一环决定的
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn