While analysing the factors limiting speedup of the code, it appears that it is not always core communication nor worker idle time that are limiting speedup of the code. Additionally, for large core sizes, the speedup actually starts to fall as core size is increased further. This is most easily observed for TP5 and TP6 but is also present in the other test problems. The additional computational time taken arises from slower lattice minimisations. For TP7, the calculation times for a single lattice minimisation increases by approximately 50% on average using 40 cores relative to serial operation. A likely explanation for this is that the introduction of additional cores slows down each of the individual lattice minimisations performed on their respective cores. This could be due to an increased number of load cache misses as multiple MPI processors are running simultaneously across shared-cache memory . One potential mitigation strategy could be to distribute the same number of cores over multiple nodes. Since each MPI process can access only its own node's local memory, there should be less competition for physical memory and cache resources. However, this could introduce other bottlenecks in terms of inter-node communication. A more detailed profiling of the program bottlenecks would be desirable to clearly diagnose the barriers to better scalability.