Python速度虽然慢,但它工作效率高啊!不服?速度虽然慢,但它工作效率高啊!不服?
写在前面
让我们来讨论一个我最近一直在思考的问题:Python 的性能。顺便说一下,我是 Python 的忠实拥趸,我在各种情况下都会积
极尝试使用 Python 来解决问题。大家对 Python 最大的抱怨就是它的速度慢。有些人甚至因为 Python 的速度不如某个语言而
拒绝使用它。本文中我将阐述,即便 Python 这么慢,为什么还值得你对它进行尝试。
速度不再关键
之前,程序的运行时间相当长。CPU 资源和内存资源都十分珍贵,程序的运行时间在这种情况下是一个重要指标。计算机本
身十分昂贵,当然还有随之而来昂贵的电力消耗。优化这些资源就十分必要,因为在商业世界有一个永恒的规则:
优化你最昂贵的资源。
历史上,程序最昂贵的资源是计算机的运行时间。这也就导致了对计算机科学的研究更专注于不同算法的效率。然而在当下环
境中,这已经不再适用,现在硅的价格已经十分便宜了。是真的非常便宜。运行时间不再是你最昂贵的资源。一个公司最昂贵
的资源现在是其雇佣的员工的时间。也就是正在看这篇文章的你自己的时间。对现在的公司来说,完成项目比让项目跑得更快
更重要。这点非常重要,这里再次强调:
完成项目比让项目跑得更快更重要。
你也许会说“我们公司对性能要求很高,我构建的网站应用需要所有的请求在 X 毫秒内返回。”或者“客户认为我们的应用慢而
放弃使用我们的应用。”在这里我不是说速度根本不重要,我只是想说明速度不再是最重要的指标,因为它不再是你最昂贵的
资源。
速度!
速度是唯一重要的事情
在编程的世界中当你提到速度,一般是指程序的性能,也就是 CPU 周期。而当你的 CEO 提到速度,他通常指的是业务上的
速度,其中最重要的是投入市场的时间。你的产品或网络应用有多快并不重要,应用采用哪种语言编写的也不重要,甚至是使
项目运行投入了多少资金都不重要。最终,唯一能够让你的公司存活下来的是产品投入市场的时间。
这里不是指初创公司观念中的盈利时间,而更多是从想法转换到实际消费者手中所花费的时间。在商业世界中能存活下来的唯
一方法是比你的竞争对手更快地进行创新。如果你的竞争对手比你更早地发布产品,那么你有再多的好点子也无济于事。你必
须成为市场的第一个进入者,或至少要赶上领先的节奏。一旦你掉队了,那么你就大势已去。
在商业世界中能存活下来的唯一方法是比你竞争对手更快地进行创新。
微服务的例子
亚马逊、谷歌、Netflix 等公司深刻理解速度的重要性。它们创建了一个能快速发展和创新的业务系统。微服务就是这个问题的
解决方案。本文并不讨论你是不是应该使用微服务,但最起码亚马逊和谷歌认为它们应采用微服务。