一、eprof的使用
A. eprof可以植入到程序代码中
过程记下:
1. 启动eprof服务器
2. 开始profiling
或者
3.停止profing
4.现在就可以查看并分析结果了(不要停止eporf)
B、通过eprof:profile启动待测试程序
二、timer工具
timer模块中有tc函数用来测试某函数的执行时间,调用
timer:tc(Mod, Fun, Args)
即可测试Mod:Fun函数的执行时间,注意结果单位是微秒(μs,microsecond),而不是毫秒(ms,millisecond)
1s=1000ms,1 ms=1000μs
不过很好奇这个微秒是怎么得出来的,计算机有这么高的精度吗,存疑。
三、erlang:statistics函数
statistics函数可用来统计某段代码的执行时间
Time即为这端代码的运行时间
单位是毫秒(ms, millisecond)
(待续...
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)
(待续...
本文详细介绍了Erlang中的性能分析工具eprof的使用方法,包括如何启动、配置及分析性能数据等步骤。此外,还介绍了timer模块中的tc函数及erlang:statistics函数的使用技巧,帮助开发者快速定位程序瓶颈。
2532

被折叠的 条评论
为什么被折叠?



