如何测量日食CLP方法的执行时间?目前,我有这样的:测量执行时间ECLIPSE CLP(或序言)
measure_traditional(Difficulty,Selection,Choice):-
statistics(runtime, _),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
statistics(runtime,[_|T]), % T
write(T).
我需要把它写了执行方法solve_traditional(...)并写入到一个文本文件的时间。但是,它不够精确。有时时间将打印0.0150.016秒对于给定的方法,但通常它打印0.0秒。
为了证明该方法完成得太快,我决定使用统计(运行时,...)来测量两次运行时调用之间的时间。然后,我可以测量例如了完成20所的方法调用的时间和由20
唯一的问题是划分所测量的时间T,用20个呼叫T等于为0,16,32或48毫秒。显然,它分别测量每个方法调用的时间和发现的执行时间的总和(这往往只是0.0秒)。此跳动测量对于N方法调用运行时和由N.
除以时间T总之的整个目的:当前方法我使用用于执行的时间测量是不够的。有没有办法让它更精确(例如9位小数)?
而不是测量'一次(目标)',写'\ +(在(1,F,_)之间,\ +目标)''适当设置'F' – false