首页 > 解决方案 > 在 SICStus Prolog 中测量时间

问题描述

我想测量执行程序需要多长时间才能比较更改程序部分时的效率。为此我使用

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

这有多“精确”?问题是我多次执行得到不同的结果,尽管它每次都应该做完全相同的事情。该程序在我的计算机上创建/打开/编辑文件。这可能是个问题吗?谢谢。

标签: performancetimeprolog

解决方案


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

要测量程序在 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


推荐阅读