一、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)
(待续...