加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Elixir中有一个等效的python timeit模块吗?

发布时间:2020-12-20 11:38:09 所属栏目:Python 来源:网络整理
导读:在 python中,您可以使用timeit模块计算代码执行时间的一小部分. https://docs.python.org/2/library/timeit.html Elixir中是否有相同的名称? 解决方法 最简单的工具是使用Erlang的:timer模块,其中一个是tc变体.它以微秒为单位返回执行时间,并将函数的结果
在 python中,您可以使用timeit模块计算代码执行时间的一小部分.

https://docs.python.org/2/library/timeit.html

Elixir中是否有相同的名称?

解决方法

最简单的工具是使用Erlang的:timer模块,其中一个是tc变体.它以微秒为单位返回执行时间,并将函数的结果作为元组返回.要为匿名函数计时,你可以做

{time,res} = :timer.tc fn -> :timer.sleep(1000) end
# {1000575,:ok}

{time,res} = :timer.tc(fn(ms) -> :timer.sleep(ms) end,[1000])
# {1001283,:ok}

要为模块功能计时,你可以做

defmodule Sleepy do
  def sleep(ms) do
    :timer.sleep(ms)
  end
end

{time,res} = :timer.tc(&Sleepy.sleep/1,[1000])
# {1001106,res} = :timer.tc(Sleepy,:sleep,[1000])
# {1000352,:ok}

Timex是另一个选项,它有一个更友好的API来测量时间,但是,如果你需要的只是时间的东西,:定时器绰绰有余的一些包装代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读