Abhishek Bhatia
Abhishek Bhatia

Reputation: 9796

Time for a procedure to run in NetLogo

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

Answers (1)

Bryan Head
Bryan Head

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

Related Questions