performance - 在 SICStus Prolog 中测量时间
问题描述
我想测量执行程序需要多长时间才能比较更改程序部分时的效率。为此我使用
statistics(runtime,[Start,_]),
my_program,
statistics(runtime,[Stop,_]),
T is Stop - Start.
这有多“精确”?问题是我多次执行得到不同的结果,尽管它每次都应该做完全相同的事情。该程序在我的计算机上创建/打开/编辑文件。这可能是个问题吗?谢谢。
解决方案
最好使用专用机器,不要运行其他东西。
要测量程序在 SICStus Prolog 中运行的时间,请使用 walltime:
statistics(walltime,[Start,_]),
my_program,
statistics(walltime,[Stop,_]),
T is Stop - Start.
它还将测量 GC 和 I/O。SICStus Prolog 的 statistics/2 选项记录在此:
推荐阅读
- image-processing - 如何使用matlab找到边缘图像中两点之间的白色像素?
- python - 将 CST 转换为 UTC
- python - Python - 如何从我的 MongoDB 集合中“流式传输”数据?
- php - 检查对象数组中的值是否为空?
- pandas - 将python模拟输出写入矩阵
- python - tensorboard中的图表是什么意思
- javascript - 防止第二次ajax调用响应
- sql - 无法加载instantclient_12_2 ODBC 驱动程序中的Oracle
- java - 在 Java 中将 HH:mm:ss 转换为毫秒
- symfony - Symfony / Doctrine - 多用户类型