Jako test jednoho jadra to jde, ale ve chvili, kdy se zacne prat vice jader o pamet se muze situace dramaticky zhorsit. Muze snadno dojit k tomu, ze 4 thready na 4 jadrech bezi pomaleji nez na 1 thread na jednom jadru.
Dalsi vec. Pokud uz se clovek pusti do rucniho assembleru a optimalizece hot-spotu, mel by v prvni rade uvazovat vektorizaci pomoci SSE a XMMx registru.
"Muze snadno dojit k tomu, ze 4 thready na 4 jadrech bezi pomaleji nez na 1 thread na jednom jadru."
Odpustte, jestli budu vypadat hloupejsi, nez syn vesnickeho hlupaka a televizni rosnicky, ale neni tohle tak nejak intuitivne jasne kazdemu?
Ne. Jde o to, že ta 4 vlákna na 4 jádrech mohou danou úlohu zpracovat pomaleji než 1 vlákno na 1 procesoru, a to i v případě, že úlohu se podařilo paralelizovat. Přitom tady samozřejmě nemluvíme o strojovém čase, ale o reálném čase.