在朱莉娅时间将数据类型 UInt64 更改为浮点型



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

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

我想以浮点形式获得结果。"时间"的类型是Uint64,谁能帮我把它转换为Float64?

提前致谢

问题是tictoc在 Julia 1.0 中删除了(在 0.7 上它们可以工作但抛出弃用警告(。我在下面建议适用于 Julia 0.6、0.7 和 1.0。

您可以使用:

  • 来自 Base 的@elapsed宏,它返回以秒为单位的时间作为Float64(特别是,它返回基准函数第一次调用时的编译时间和运行时间,但只返回连续运行的运行时间,因为被调用的函数已经被编译
  • (@belapsed来自 BenchmarkTools.jl
  • 的宏,它返回相同但更复杂的宏(有关详细信息,请参阅 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

你的问题不清楚。 tic(( 和 toc(( 在 Julia 中不存在。使用宏@time。

julia> @time Float64(UInt(7^12000))
0.000048 seconds (7 allocations: 208 bytes)
6.871777734182465e18

最新更新