关于erlang中的timer:tc/3

timer:tc/3对于统计函数运行时间是个很不错的函数,

截图timer:tc/1,tc/2,tc/3的API:

拿斐波那契数列入手做个讲解:

-module(fib).
-export([fib/1]).

fib(0) -> 0;
fib(1) -> 1;
fib(N) when N>1 -> fib(N-1) + fib(N-2).

对于统计运行时间,直接上图:

这里的355000为MincSeconds.

注意:这是统计从1到30,斐波那契函数运行的总时间。

若要使变通下,要是求每个运行的时间,(若是求)计算每个函数请求的响应时间,则如下:

 

ps:这里可以扩展做获取每个request的接口的请求时间.

 

timer:tc/3  是在代码调优中的很好的工具以及获取某函数运行时间.

 

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

下面是斐波那契数列的实现:

-module(feibo).  
-export([feibo_list/1,ele/1]).

%% 运行:feibo:feibo_list(5).
%% 结果示例:【1,1,2,3,5】

%% 函数element主要为了计算斐波那契数列的第N个元素
ele(1) -> 1;
ele(2) -> 1;
ele(N) -> ele(N-1) + ele(N-2).

%% 给定一个N,求出斐波那契的前N个数
feibo_list(N) -> feibo_list([], N).
feibo_list(L, 0) -> L;
feibo_list(L, N) -> feibo_list([ele(N)|L], N-1).

  

 

转载于:https://www.cnblogs.com/unqiang/p/3766298.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值