【发布时间】:2015-06-22 12:00:46
【问题描述】:
我们如何在 Elixir 中轻松计时函数调用?
IEx 中是否有任何隐藏开关可以启用此功能?
【问题讨论】:
-
我认为没有办法这样做。 Erlang 的
timer:tc/1-2-3可能是最简单快捷的方法。 -
@whatyouhide 不确定我做错了什么
iex(54)> :timer.tc(Demo.sum 1000) ** (BadFunctionError) expected a function, got: 500500 (stdlib) timer.erl:165: :timer.tc/1 -
正如您在我在上一条评论中链接的
timer:tc/1的文档中看到的那样,如果您只将一个参数传递给timer:tc,它必须是一个函数。你的例子是:timer.tc(fn -> Demo.sum(1000) end)。如果你想传递一个模块+函数+参数三元组,只需使用:timer.tc(Demo, :sum, [1000])。 -
@whatyouhide 谢谢 :timer.tc(Demo, :sum, [1000])
-
@whatyouhide 你的评论应该是一个答案。