在Julia时间将数据类型UInt64更改为Float

问题描述 投票:0回答:2

我正在尝试计算Julia中函数的运行时间。例如:

time = tic(); 7^12000000; toc()

我想把结果作为浮点数。 “时间”的类型是Uint64,任何人都可以帮我转换为Float64吗?

提前致谢

julia
2个回答
2
投票

问题是在Julia 1.0中删除了tictoc(在0.7上他们工作但是抛弃了弃用警告)。我在下面提出的建议适用于Julia 0.6,0.7和1.0。

您可以使用:

  • 来自Base的@elapsed宏以秒为单位返回时间为Float64(特别是,在基准函数的第一次调用时返回编译时间和运行时间,但由于已调用已调用函数,因此仅在连续运行时退出时间)
  • 来自BenchmarkTools.jl的@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
投票

你的问题不明确。 Julia中不存在tic()和toc()。使用宏@time。

julia> @time Float64(UInt(7^12000))
  0.000048 seconds (7 allocations: 208 bytes)
6.871777734182465e18
© www.soinside.com 2019 - 2024. All rights reserved.