Robert Grider of the NetLogo development team clarified to us that NetLogo versions through 6.0 were optimized to use in-radius
(and in-cone
) on the built-in agentsets: turtles
, patches
, and any breeds
that are defined. As a consequence, these primitives are slower for other agentsets, even much smaller ones, and their execution time increases dramatically with the size of the agentset being searched. It was therefore much quicker to use turtles in-radius 10 with [color = blue]
than blue-turtles in-radius 10
, even if blue-turtles
is an agentset containing a small fraction of the turtles. This difference could dramatically speed up models in older versions of NetLogo (in one test case, it reduced execution time by a factor of 20).
However, this side effect of optimizing in-radius
and in-cone
was remedied in NetLogo 6.0.1. It is no longer faster to use these primitives on the built-in agentsets.
Recent Comments