性能分析

一、eprof的使用 

http://www.erlang.org/doc/man/eprof.html

A. eprof可以植入到程序代码中 
过程记下: 
1. 启动eprof服务器 
Java代码   收藏代码
  1. eprof:start()  


2. 开始profiling 
Java代码   收藏代码
  1. eprof:profile([self()])  

或者 
Java代码   收藏代码
  1. eprof:start_profiling([self()])  


3.停止profing 
Java代码   收藏代码
  1. eprof:stop_profiling()  


4.现在就可以查看并分析结果了(不要停止eporf) 
Java代码   收藏代码
  1. eporf:analyse()  


B、通过eprof:profile启动待测试程序 
Java代码   收藏代码
  1. 1. eprof:start()  
  2. 2. eprof:profile([self()], Mod, Fun, Args) %启动待测试程序  
  3. 3. eprof:stop_profiling()  
  4. 4. eprof:analyse()  


二、timer工具 
timer模块中有tc函数用来测试某函数的执行时间,调用 
timer:tc(Mod, Fun, Args) 
即可测试Mod:Fun函数的执行时间,注意结果单位是微秒(μs,microsecond),而不是毫秒(ms,millisecond) 
1s=1000ms,1 ms=1000μs 

不过很好奇这个微秒是怎么得出来的,计算机有这么高的精度吗,存疑。 

三、erlang:statistics函数 
statistics函数可用来统计某段代码的执行时间 
Java代码   收藏代码
  1. statistics(wall_clock),  
  2. ...........待统计的代码  
  3. {_, Time} = statistics(wall_clock),  

Time即为这端代码的运行时间 
单位是毫秒(ms, millisecond) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值