[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]
On 22/02/15 21:16, Tom wrote: > Wot with all these multiprocessor jobies about these days I've been > trying to find a valid reason for choosing make -j(n+1 or 2) where n is > the number of cores. I've not been able to find anything 'scientific' > just suggestions that adding one or two to the core count may allow for > some of the tasks waiting for io to be replaced with other tasks but > that's wishful thinking rather than 'good software engineering'. > Anyone know different or how to test a running program so the value can > be optimised? > Tom te tom te tom > I've been doing this for what feels like a million years. I just do -j(n+1). All the logging, analysing, profiling and research in the world will probably struggle to convince you otherwise. It's like how much swap do you need? Received wisdom is that it should be equal to or double your available RAM. I couldn't care less about received wisdom, so do things as I feel like. I disable swap entirely and build everything with one thread over my physically available cores. In the old days there was only one thread per socket and it was easy to figure out what value to pass to -jX: check the system documentation, count how many Spark/PA-RISC/Power/MIPS sockets you've got and plus one. Being hopelessly old-skool I'd absolutely love it if someone popped up with a thoroughly modern take on why that doesn't work anymore. For all I know there's some awesome flag to pass LLVM these days and it will just magically do some crazy multicore godlike optimizations and everything will compile eleventy billion times faster. Please let this dinosaur know if that's how things work these days. -- The Mailing List for the Devon & Cornwall LUG http://mailman.dclug.org.uk/listinfo/list FAQ: http://www.dcglug.org.uk/listfaq