我正在尝试计算Julia中函数的运行时间。例如:
time = tic(); 7^12000000; toc()
我想把结果作为浮点数。 “时间”的类型是Uint64,任何人都可以帮我转换为Float64吗?
提前致谢
问题是在Julia 1.0中删除了tic
和toc
(在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
你的问题不明确。 Julia中不存在tic()和toc()。使用宏@time。
julia> @time Float64(UInt(7^12000))
0.000048 seconds (7 allocations: 208 bytes)
6.871777734182465e18