Benchmarking

For benchmarking purposes, we already know @time and @elapsed; @timed gives you the @time results as a tuple:

@time [x^2 for x in 1:1000] prints elapsed time: 3.911e-6 seconds (8064 bytes allocated) and returns 1000-element Array{Int64,1}: ....

@timed [x^2 for x in 1:1000] returns the following:

([1, 4, 9, 16, 25, 36, 49, 64, 81, 100 ... 982081, 984064, 986049, 988036, 990025, 992016, 994009, 996004, 998001, 1000000], 3.911e-6, 8064, 0.0)

@elapsed [x^2 for x in 1:1000] returns 3.422e-6.

If you are specifically interested in the allocated memory, use @allocated [x^2 for x in 1:1000], which returns 8064.

If you are looking for a package, consult BenchmarkingTools. This has some macros and also a good method for benchmarking.

Get Julia 1.0 Programming now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.