`
cryolite
  • 浏览: 572967 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Erlang程序的性能测试工具(1)

阅读更多
一、eprof的使用
A. eprof可以植入到程序代码中
过程记下:
1. 启动eprof服务器
eprof:start()


2. 开始profiling
eprof:profile([self()])

或者
eprof:start_profiling([self()])


3.停止profing
eprof:stop_profiling()


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


B、通过eprof:profile启动待测试程序
1. eprof:start()
2. eprof:profile([self()], Mod, Fun, Args) %启动待测试程序
3. eprof:stop_profiling()
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函数可用来统计某段代码的执行时间
statistics(wall_clock),
...........待统计的代码
{_, Time} = statistics(wall_clock),

Time即为这端代码的运行时间
单位是毫秒(ms, millisecond)


(待续...
分享到:
评论
2 楼 genesislive 2014-05-28  
eporf:analyse()写错了,应该改成eprof:analyze().
1 楼 mryufeng 2008-11-01  
引用
不过很好奇这个微秒是怎么得出来的,计算机有这么高的精度吗,存疑。
现在的cpu都有个计数器 可以精确到nano秒,很多平台都提供。

相关推荐

Global site tag (gtag.js) - Google Analytics