To máš jako s lokomotivami. První parní jely 5 km/h (dnes jsem to viděl na Spektrum). Mělo to pro někoho takový význam, aby si je kupoval? Až mašiny, které utáhly vlak a jely 50 km/h měly reálné použití. Nasednul bys do prvního letadla bratří Wrightů?
Jenže mým cílem je mít co nejvyšší výkon pro mé aplikace, ne je měnit (to mě stojí čas a peníze, protože bych si musel zvykat na něco nového). Proto preferuju investice do single-threaded výkonu, nikoli do dual-core. Tím, že všichni skočí na Intelovu reklamu, nebude mít tento žádnou motivaci inovovat. Penízky se mu posypou i bez investicí do R&D.
Já nic nebojkotuju, chovám se čistě kapitalisticky. Žádné benefity = žádné peníze. A nehodlám prudit programátory, protože:
1) ... je mi jasné, že to zlepší jen jednu aplikaci, ne výkon obecně.
2) ... vím, že programátoři nemají čas, a proto ať ho radši investují do vychytávání chyb než do zvyšování výkonu (ano, radši bych vyměnil trochu výkonu za to, aby byly destruktory, kontrola buffer overflow atd.).
3) ... vím, že optimalizace všech aplikací by stála o možná deset řádů víc peněz než optimalizace HW, přičemž já ideálně nechci platit žádné peníze navíc.
4) ... je zřejmé, že programátor není AI, takže buďto má s thready problémy nebo onu aplikaci nedokáže udělat tak spolehlivou, jak by byla single-threaded (nebo až po gigantickém testování, což stojí mraky peněz).
Tím, že dáš jako zákazník jasně najevo, že o jejich splácaniny nestojíš, že očekáváš radikální změny k lepšímu. Sice to není "teď a tady", ale to dual-core taky ne.
I kdyby, bude to svědčit o tom, jaké jsou možnosti programátorů. A já vím, že spousta her nemá ani mnohem jednodušší optimalizace, tak co by mělo najednou programátory motivovat, když jim to akorát přidělá práci? Pořád je to dokola o tom, že programátorům toto snažení nikdo nezaplatí, a proto oni toto nebudou dělat, dokud to nebude nezbytně nutné. Všichni zde argumentující ve prospěch dual-core tak nějak předpokládají, že aplikace budou. Ale nikdo ještě neuvedl jediný důvod, který by měl programátory k tomuto vést.
To je možné. Pokud to ale pro QC nebude mít význam, tak už jsme všechny možnosti růstu výkonu vyčerpali a jsme opět ve slepé uličce. Takže co zbývá? Ano, zvyšovat výkon v single-threaded aplikacích.
A myslíš si, že grafika nemusí počkat na výsledky fyziky? Jak chceš něco nakreslit, když nevíš, kde to je? Tohle je čistě sériový příklad. Pokud bys chtěl urychlovat přímo fyziku, tak se zdržením nevyhneš, protože operace bude nejspíš tak rychlá, že zpracování všeho na jednom jádru bude rychlejší než tvorba threadu, jeho plnění daty a následné kopírování výsledků zpět (další thread s replikou funkce ti zabere docela dost cache).