On Mon, Nov 28, 2011 at 16:27, Neil Bothwick <n...@digimed.co.uk> wrote: > On Mon, 28 Nov 2011 12:26:48 +0700, Pandu Poluan wrote: > >> Just in case anyone wonders where the multiplier "1.6" comes from: >> >> There had been a discussion somewhere (I forgot where exactly, sorry) >> about load numbers. The final conclusion was that the ideal load number >> for today's processors is 2*N, because with the out-of-order capability >> of modern processors, two instructions can overlap in the pipeline, even >> without hyperthreading. > > Is N the number of physical cores, or does it include hyperthreaded cores > too? >
And that... I forgot. However, considering hyperthreading is just a 'trick' where a pair threads of the same context can run together on a core, I'd wager that N here should be considered as the physical core. In other words, my guess is that 2*N is the "implicit hyperthreading" performed by OOO processor cores. On hyperthreaded cores, the 2*N ability of OOO processors is made "explicit". TL;DR : 2*N for non-hyperthreaded cores, N for hyperthreaded cores. (Disclaimer: Above is my pure speculation. Feel free to debunk it based on your tests (: ) Rgds, -- FdS Pandu E Poluan ~ IT Optimizer ~ • LOPSA Member #15248 • Blog : http://pepoluan.tumblr.com • Linked-In : http://id.linkedin.com/in/pepoluan