在SICStus Prolog中测量时间

时间:2018-06-25 21:42:46

标签: performance time prolog

我想测量一个程序要执行多长时间,以便能够在更改部分程序时比较效率。为此,我使用

statistics(runtime,[Start,_]),my_program,staticstics(runtime,[Stop,_]),T is Stop - Start.

那是多么“精确”?问题是,尽管每次执行完全相同的操作,但多次执行却得到不同的结果。 该程序在我的计算机上创建/打开/编辑文件。可能有问题吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

最好使用专用机器,不要运行其他东西。

要测量程序在 SICStus Prolog 中运行的时间,请使用 walltime:

statistics(walltime,[Start,_]),
my_program,
statistics(walltime,[Stop,_]),
T is Stop - Start.

它还将测量 GC 和 I/O。 SICStus Prolog 的 statistics/2 选项记录在此处:

https://sicstus.sics.se/sicstus/docs/4.0.3/html/sicstus/ref_002dmgc_002dove_002dsta.html#ref_002dmgc_002dove_002dsta