我正在对 Julia 的执行速度进行基准测试。我执行了@time [i^2 for i in 1:1000]
在 Julia 提示下,这导致了大约 20 毫秒的时间。这看起来很奇怪,因为我的计算机是现代的 i7 处理器(我使用的是 Linux Ubuntu)。
另一个奇怪的事情是,当我在一系列上执行相同的命令时1:10
执行时间为15毫秒。
我在这里一定缺少一些微不足道的东西吗?
有几件事请看表现技巧:
- 不要在全球范围内进行基准测试。
- 不要测量类似这样的事情的第一次执行。
- Use 基准测试工具.
Julia 是一种 JIT 编译的语言,因此第一次测量时,您测量的是编译时间。这是一个很小的固定开销,因此对于任何需要大量时间的事情来说,它可以忽略不计,但对于像这样的短时间运行的代码来说,它几乎总是如此。非常量全局变量迫使编译器几乎不对类型进行任何假设,这往往会降低所有性能。在某些情况下这很好,但大多数时候,您 a) 应该编写代码,以便输入是函数的显式参数,而不是来自某些全局变量的隐式参数,并且 b) 不应该编写使用可变全局变量的代码状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)