是否可以在Swi-Prolog中获得以毫秒为单位的经过时间?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以在Swi-Prolog中获得以毫秒为单位的经过时间?相关的知识,希望对你有一定的参考价值。
简单问题。
我需要计算执行谓词X所需的时间。所以我写了这个谓词:
chronometrise(X) :-
write('Executing: '), write(X), nl, nl,
statistics(walltime, _), call(X), statistics(walltime, [_,E]),
nl, write('Time: '), write(E), write(' ms.'), nl.
这可以让我获得毫秒级的时间。但我需要微秒。
是否可以在Swi-Prolog中进行计算?还是毫秒是最好的精度?
编辑:嗯,我发现了一个更好的方法:执行谓词1000次并计算经过的时间。这将使我们以毫秒为单位的平均执行时间乘以1000,这恰好是以微秒为单位的平均经过时间。
答案
是否可以在Swi-Prolog中进行计算?或毫秒是最佳精度?
是,请使用time/1,例如
time(Goal).
或您的情况
time(X).
以上是关于是否可以在Swi-Prolog中获得以毫秒为单位的经过时间?的主要内容,如果未能解决你的问题,请参考以下文章