Time for a procedure to run in NetLogo

安稳与你 提交于 2019-11-30 09:21:59

问题


How can I find the time it took to run a procedure in NetLogo?

Using 'ticks' defined in NetLogo is inaccurate for my purposes.

A vague idea would to subtract the system time at the start and end of procedure if possible.

But I am unaware of any methods defined in NetLogo which would allow me to do this.


回答1:


Charles' suggestion of the profiler extension is a great. The profiler extension is incredibly useful. However, it may be overkill for your situation.

Checkout reset-timer and timer. reset-timer sets an internal timer to 0, and then timer reports the amount of time that has passed since reset-timer was called (in seconds). The resolution is on the order of milliseconds, but depends on the system.

To time a single procedure call, you'd do something like:

reset-timer
my-procedure
print timer

If you want to get a sense of the average time a procedure takes, you can simply put it in a repeat block:

reset-timer
repeat 1000 [ my-procedure ]
print timer



回答2:


The profiler extension is designed to do just that. See the NetLogo User Manual at http://ccl.northwestern.edu/netlogo/docs/profiler.html for instructions on its use.



来源:https://stackoverflow.com/questions/25619739/time-for-a-procedure-to-run-in-netlogo

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!