我正在对朱莉娅的执行速度进行基准测试.我@time [i^2 for i in 1:1000]
在朱莉娅提示下执行了,这导致了大约20毫秒的事情.这看起来很奇怪,因为我的计算机是现代的i7处理器(我使用的是Linux Ubuntu).
另一个奇怪的事情是,当我在一段1:10
执行时间内执行相同的命令时是15毫秒.
我必须在这里找到一些微不足道的小事吗?
有几点,请参阅性能提示:
不要在全球范围内进行基准测试
不要测量这样的第一次执行.
使用BenchmarkTools.
Julia是一种JIT编译的语言,所以第一次测量时,你就是在测量编译时间.这是一个很小的固定开销,所以对于任何花费大量时间的东西,它都可以忽略不计,但对于像这样的短代码,它几乎一直都是.非常量全局变量迫使编译器几乎不假设类型,这往往会毒害您的所有性能.这在某些情况下很好,但大多数时候,你a)应该编写代码,使输入是函数的显式参数,而不是来自某些全局变量的隐式参数,b)不应该编写使用可变全局的代码州.