3
在Python中,您可以使用timeit模块为代码执行一小段执行时间。Elixir中是否有python timeit的等效模块?
https://docs.python.org/2/library/timeit.html
是否有药剂的相同呢?
在Python中,您可以使用timeit模块为代码执行一小段执行时间。Elixir中是否有python timeit的等效模块?
https://docs.python.org/2/library/timeit.html
是否有药剂的相同呢?
最简单的工具是使用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, :ok}
{time, res} = :timer.tc(Sleepy, :sleep, [1000])
# {1000352, :ok}
Timex是另一种选择,这对于测量时间,除其他事项外一个友好的API,但如果所有你需要的是时间,:timer
绰绰有余的一些包装代码。
我知道这不是执行时机,但是如果您试图提高代码性能,这也可能有所帮助:http://stackoverflow.com/questions/204926/profiler-analyzer-for-erlang – 2014-10-01 13:32:01