I am running network simulations with CoreNEURON and I am currently testing the impact of assigning cells to processes using different distribution strategies. Looking at the CoreNEURON's output, every parameter (number of cells, compartments, synapses, spikes, etc., as well as SPIKE EXCHANGE, CONFIGURATION, etc.) is the same for different assignment strategies, except for the number of input presyns and the final solver time. Here is a sample output for two strategies:

**Strategy 1**:

Solver Time : 230.424

Simulation Statistics

Number of cells: 2500

Number of compartments: 7500

Number of presyns: 2500

Number of input presyns: 2500

Number of synapses: 564557

Number of point processes: 564557

Number of transfer sources: 0

Number of transfer targets: 0

Number of spikes: 335000

Number of spikes with non negative gid-s: 335000

**Strategy 2**:

Solver Time : 232.373

Simulation Statistics

Number of cells: 2500

Number of compartments: 7500

Number of presyns: 2500

Number of input presyns: 30

Number of synapses: 564557

Number of point processes: 564557

Number of transfer sources: 0

Number of transfer targets: 0

Number of spikes: 335000

Number of spikes with non negative gid-s: 335000

Here the time difference is small, but this effect scales with the number of cells, so that one strategy becomes significantly faster than the other one.

From what I could find, it looks like InputPresyn is the optimized version of Presyn used by CoreNeuron. I am wondering if there is a way to keep the number of input presyns equal across assignment strategies for fair comparison. And more generally, should I try forcing them to be equal, or should the different number of input presyns be expected – in this case, how exactly does CoreNEURON decide on the number of input presyns?