我正在尝试计算Julia中某个函数的运行时间。例如:
time = tic(); 7^12000000; toc()
我想得到浮点数的结果。时间类型是Uint64,有人可以帮助我将其转换为Float64吗?
预先感谢
答案 0 :(得分:2)
问题是tic
和toc
在Julia 1.0中被删除(在0.7上它们起作用,但是抛出了弃用警告)。我在下面提出的建议适用于Julia 0.6、0.7和1.0。
您可以使用:
@elapsed
宏,它以Float64
的形式返回以秒为单位的时间(尤其是,在第一次调用基准测试函数时返回编译时间和运行时间,而在连续运行时仅返回运行时间因为被调用的函数将已经被编译)@belapsed
宏返回相同但更复杂的宏(有关详细信息,请参见BenchmarkTools.jl,但主要区别在于它多次运行函数并报告最小观察时间)这里是一个例子:
julia> @elapsed sum(rand(10^6)) # includes compilation time
0.182671045
julia> @elapsed sum(rand(10^6)) # benchmarked functions are already precompiled
0.007848933
julia> using BenchmarkTools
julia> @belapsed sum(rand(10^6)) # minimum time from many runs
0.006249196
答案 1 :(得分:1)
您的问题不清楚。 tic()和toc()在Julia中不存在。使用宏@time。
julia> @time Float64(UInt(7^12000))
0.000048 seconds (7 allocations: 208 bytes)
6.871777734182465e18