问题
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