[DOCS] add multithreading discussion in performance tips
Opened this issue · 3 comments
The points from this post as useful to have in the docs:
mainly the locking of dictionaries, or the usage of a :dead
field for later mass removal, or the usage of a thread safe dictionary for agent container.
(this means that we need to change the agent container types in the source code from Dict
to AbstrcactDict
and from Vector
to AbstractVector
)
I would remove the locking of dictionaries because it is not specific enough in my opinion (clearly we can say that this is the methodology a thread safe dictionary in ThreadSafeDict.jl uses though), I like the other suggestions but the thread safe dictionary one should be tested if it actually works at all before proposing it
In any case cool ideas !
I think that https://discourse.julialang.org/t/multi-threads-error-undefreferror-in-simple-abm-with-agents-jl/110900/21?u=tortar proves the viability of a thread-safe dict!