Is NetLogo a good platform for big models (>10,000s of patches, turtles)?
How can I speed up a model that runs very slowly?
Models that execute each tick very quickly can have their speed limited solely by the “frame rate” setting, which by default limits NetLogo to 30 ticks per second.
What programming language was NetLogo written in? NetLogo is written mostly in Scala, with some parts in Java. (Scala code compiles to Java byte code and is fully interoperable with Java and other JVM languages.)
One of the reasons why NetLogo is so easy to learn is that it is very well documented. The user manual includes three tutorials to help beginners get started, an excellent programming guide, and a comprehensive dictionary with the definitions of all NetLogo primitives, including examples of how to use them.
NetLogo is a multi-agent programmable modeling environment. It is used by many hundreds of thousands of students, teachers, and researchers worldwide. It also powers HubNet participatory simulations.
The article's main points are (a) NetLogo is not necessarily slow for executing large scientific models, and in fact has speed advantages over some alternatives; and (b) NetLogo models do often execute very slowly at first but can almost always be sped up dramatically by using a few basic techniques.
A nearly certain fix is to use a text editor to edit the NetLogo.cfg file, changing 1024m to a smaller number, like 512m. This should permit NetLogo to start, although the lower heap size limit may affect your ability to run models with many agents.
The “Logo” part is because NetLogo is a dialect of the Logo language. “Net” is meant to evoke the decentralized, interconnected nature of the phenomena you can model with NetLogo, including network phenomena. It also refers to HubNet, the multiuser participatory simulation environment included in NetLogo.
By default, though, NetLogo ships with a one-gigabyte ceiling on how much total RAM it can use. If your model exceeds that limit, you’ll get an OutOfMemoryError dialog. If you are using BehaviorSpace, note that doing runs in parallel will multiply your RAM usage accordingly.
We just published an article on execution speed of NetLogo; it is available at: http://jasss.soc.surrey.ac.uk/20/1/3.html
The article's main points are (a) NetLogo is not necessarily slow for executing large scientific models, and in fact has speed advantages over some alternatives; and (b) NetLogo models do often execute very slowly at first but can almost always be sped up dramatically by using a few basic techniques. We provide a step-by-step strategy for measuring and improving execution speed. We also identify tools for efficient analysis (sensitivity analysis, parameter-fitting, etc.) of NetLogo models.
I just posted two updates to our article on NetLogo execution speed. The original article is at http://jasss.soc.surrey.ac.uk/20/1/3.html
One update provides very important information from the NetLogo development team on when in-radius and in-cone are and are not slow. The other corrects a conclusion about the cost of using links. The updates are at: http://www.railsback-grimm-abm-book.com/JASSS-models.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With