在Julia时间将数据类型UInt64更改为Float
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Julia时间将数据类型UInt64更改为Float相关的知识,希望对你有一定的参考价值。
我正在尝试计算Julia中函数的运行时间。例如:
time = tic(); 7^12000000; toc()
我想把结果作为浮点数。 “时间”的类型是Uint64,任何人都可以帮我转换为Float64吗?
提前致谢
答案
问题是在Julia 1.0中删除了tic
和toc
(在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
另一答案
你的问题不明确。 Julia中不存在tic()和toc()。使用宏@time。
julia> @time Float64(UInt(7^12000))
0.000048 seconds (7 allocations: 208 bytes)
6.871777734182465e18
以上是关于在Julia时间将数据类型UInt64更改为Float的主要内容,如果未能解决你的问题,请参考以下文章
如何将数据类型更改为 float64 以便 sklearn 可以处理数据大于 np.float32 的数据帧