Reputation: 9796
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.
Upvotes: 4
Views: 764
Reputation: 12580
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
Upvotes: 3