【发布时间】:2011-08-16 18:30:59
【问题描述】:
阅读一篇关于Lost Programming Skills的文章,作者提出了这个聊天:
我:你需要多少马力?
SE:我不知道。
我:让我们看看,你的主循环有多少行代码?
SE:10,000。
我:什么语言?
SE:Fortran
我:好的,每行 Fortran 大约有 10 行机器代码,所以 每个循环 100,000 条指令;循环每次执行多少次 第二个?
SE:每 1/20 秒。
我:好的,所以这是 20 x 100,000 = 2mops(这比我们拥有的任何东西都快 当时),也许我们最好重新考虑一下。
这让我想知道,现代语言的数字是多少,比如 Ruby?如何发现?
【问题讨论】:
-
这取决于语言和机器架构。有些语言甚至不直接针对硬件。例如,Java 被编译成在虚拟机上运行的字节码。听起来他们在这里得到的是在优化代码之前评估代码。在实践中,您可以使用分析技术来查看哪些代码行占用的时间最多。
-
你真的不能这样衡量事情,花时间去尝试是徒劳的。
-
在 fortran 时代(不算我们在技术上仍处于 fortran 时代)你可以做这样的事情......
-
死链接。现在可以在itworld.com/article/2740201/it-management/… 找到这篇文章