There's more...
If you run multiple replicates, simuPOP allows you to take full advantage of a multicore computer because it can be configured to run multithreaded (check the documentation). In this case, the more you depend on simuPOP native operators, the better. Python-coded operators will be single-threaded because of Python Global Interpreter Lock (GIL). If you want to know more about the GIL refer to http://www.dabeaz.com/python/UnderstandingGIL.pdf.
While performing multiple replicates of complex models, I prefer to use a different strategy: I perform a single replicate per process, but run multiple processes. This has the advantage of scaling on a cluster, whereas simuPOP multithreaded code can only be used on a single computer. For ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access