Pretty much the only time this can happen is if you are memory-bound in a single thread and can get around that with multithreading. Basically, either NUMA or having the code be able to efficiently use caches without hammering RAM as much as with single threaded solution.Zulan wrote:By the way, there is super-linear speedup. Allthough that is something you wouldn't count on / expect.hoho wrote:There is also the thing that multithreading can ever only give *at best* linear scaling with core count.
Problem is, pretty close to no one is using NUMA in machines they play Factorio (2+ CPUs with independent memory pools for each CPU) with and I'm almost certain factorio memory access patterns are the kind that won't really benefit from spreading caches over multiple cores all that much.