The main problem here is the use of a single Population .
This means that every singe spike must be sent to every single core and only after it is received can the FromListCommenction / Synapses be checked to see if the core is actually interesting and if so to which neurons.
It also has to check (highly optimised but still work) which of the neurons on that core are interested in the spike so the more neurons per core the more work.
So if you are able to break the network into logical smaller population this will help.
The Population are placed onto cores in blocks of neurons.
There is never more than 1 Population on a core so the split inti logical smaller Populations helps here.
For most model types we place up to 256 neurons on a single core.
So in your example it is likely to place the whole model on a single core with every single spike processed on that 1 core.
A command like
sim.set_number_of_neurons_per_core(sim.IF_curr_exp, 25)
Will tell the network to split that model type onto more cores which also will help.
---
The FromListConnector while by far the most flexible connector is also the slowest to load and one where the least optimization can happen in deciding which spikes to send to which cores.
Once you have split your network into smaller logical Population change to using OneToOne or AllToAll connectors where possible.
--
The TimeStep determines how fast in real time the network will run. So decreasing the timestep will make this a lot worse..
--
The TimeScaleFactor allows the network to run faster (or more typically) slower
So increasing your timescale factor to say 10 will give the network a lot longer to process each spike and will help here.
This is the easiest fix and will help with your single Population network for a while.
--
However as the network gets larger especially when it gets into the tens of thousands and beyond into the millions the only way is to describe your network better with logical sub populations and where possible avoiding the FromListConnector.
regards
Christian
University Of Manchester