Pokud jsi to stále nepochopil, tak se bavíme o využitelnosti dual-core. Já tvrdím, že drtivá většina programů takový procesor není schopna využít. Připouštím, že existují určité profesionální a multimediální aplikace, které z toho mohou těžit. Zároveň ale říkám, že mnoho z těch profesionálních aplikací je závislých na výkonu grafické karty a že některé multimediální aplikace by mohly v budoucnu těžit z výkonu grafických karet, který je pro tyto účely podstatně vyšší než ten, který dokáže nabídnout jakýkoli vícejádrový procesor.
Jsi velmi naivní. Jediné, co Intel a AMD sledují, je finanční ukazatel zvaný zisk (přesněji řečeno ROE a EPS). Jim nejde o žádný výkon. Rychlejší procesory jsou uváděny jen proto, že zákazníka zajímá (zjednodušeně řečeno) poměř výkon/cena, tudíž ten, kdo přichází s rychlejším procesorem, mu může nasadit vyšší prodejní cenu, tj. vydělat víc. Dokud bylo možné získávat vyšší výkon zvyšováním frekvence, žádné dvoujádrové procesory nebyly. Dual-core je pouze důsledkem toho, že výrobci nejsou schopni zvyšovat výkon vyšší frekvencí. Proto se snaží obalamutit zákazníky vyšším výkonem v některých specifických programech (... které málokdo používá), ovlivňováním benchmarků a přirozeně taky vydáváním hypových tiskových zpráv, ukázkových testů atp.
Že by na zkoušku?
U projektů netuším, protože obvykle kompiluju věci, které mají jen málo projektů (max. tak kolem pěti). A ty se na mém CPU kompilují postupně. To je ostatně vcelku logické, neboť některé výstupy vyžadují .lib z jiných projektů, tudíž kdyby se kompilovalo paralelně, muselo by se na finalizaci .lib počkat. BTW, pořád jsi nedodal důkaz, že na dual-core se to bude chovat jinak.
Pokud jde o kompilaci .cpp, tak ta probíhá samozřejmě postupně a to i na dual-core. Počet threadů je přirozeně vždy roven jedné, neboť každý soubor se kompiluje individuálně a je pro něj separátně spoustěn cl.exe (spustí se, zkompiluje, vypne se). IDE v tomto ohledu slouží jen jako volání cl.exe.
Počet threadů = 1.
Tak to ti teda rozhodně věřit nemůžu, když to tak není. Když si spustím paralelní kompilaci více projektů zároveň, zátěž na čtení .cpp a zápis .obj je natolik velká, že to kompilaci každého z projektů začne zpomalovat.
*.obj vytváří přímo kompilátor - je to strojový kód funkcí. S linkerem to nemá nic společného.
Přínos je naopak diskutabilní při běžné práci, neboť prakticky neexistují vícevláknové aplikace se zátěžovými vlákny. A pokud ano, přínos není právě ohromující (v řádu třeba + 10 %). Ve specifických testech je nárůst výkonu daný tím, že tyto testy jsou pro dual-core optimalizovány (... za což kupující takového software řádně zaplatí).
ad thread - stejně tak znám lidi, kteří rozdíl při přechodu na dual-core nepoznali. Faktem je, že záseky Windows existují i na dual-core a že pokud chceme provozovat nějakou aplikaci na pozadí, dá se to ve většině případů snadno vyřešit prioritami. Ostatně dual-core v tomhle není záchrana, protože jakmile si budu chtít spustit na pozadí dvě aplikace nebo budu mít jednu multithreaded, mám hned stejný problém.