简单问题。
我需要计算执行谓词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,这恰好是以微秒为单位的平均经过时间。