Hallo Leute,
ich selber bin kein Programmierer und habe allenfalls lockere Grundkenntnisse. Deshalb interessiert mich, wie Programmierer wie ihr die im Threadtitel gestellte Frage beantworten würden.
Vor der Zeit der Mehrkernprozessoren war es meist so, dass der Benutzer einer Software seine Hardware an diese anpassen musste, wenn sie nicht flott genug lief (besonders im Spielesektor).
Seit Einführung der Mehrkern-CPUs haben die Seiten plötzlich gewechselt. Selbst dem weniger liquiden PC-Enthusiasten stehen plötzlich zweistellige Ghz-Zahlen an Rechenleistung zur Verfügung - die Softwareentwickler sind im Zugzwang und (noch?) auf der Verliererschiene.
Obwohl es Mehrkern-CPUs im Mainstreambereich seit ca. zweieinhalb Jahren gibt (auf die PC-Branche bezogen schon eine kleine Ewigkeit) ist bis auf Profianwendungen, Betriebsystemen und vereinzelt Spiele keine Software wirklich parallelisiert. Was dazu führ,t dass viele sich lieber einen älteren DualCore mit hoher Taktzahl zulegen als einen Quad, der zumindest nominal wesentlich mehr Leistung hat.
Liegt es daran, das Softwareentwickler durch ihre aufrüstwillige Kundschaft aus früherer Zeit zu bequem geworden sind oder an der berühmt-berüchtigten "Faulheit der Programmierer" (von diesen selbst natürlich als Effizienz betitelt
)?
Oder sind es doch wohl eher andere Gründe?
Erfordert das Umdenken auf Parallelität soviel Zeit oder ist die meiste Software gar nicht so multithreading-tauglich wie angenommen/gewünscht/gehofft?
Bei ersterem wäre dann die Frage interessant, wie lange es noch dauert bis der Großteil der verfügbaren Software vielleicht sogar die Brot-und-Butter Freeware vom Freak um die Ecke multithreaded. Von welchen Faktoren hängt das ab?
Letzteres, also die Frage nach der Multithreading-Tauglichkeit von Software, wäre im negativen Fall schon gravierender. Dann würde früher oder später jeder auf gigantischen Taktfrequenzen hocken, die die meiste Zeit nur brachliegen.
Auf eure Antworten bin ich schon gespannt
ich selber bin kein Programmierer und habe allenfalls lockere Grundkenntnisse. Deshalb interessiert mich, wie Programmierer wie ihr die im Threadtitel gestellte Frage beantworten würden.
Vor der Zeit der Mehrkernprozessoren war es meist so, dass der Benutzer einer Software seine Hardware an diese anpassen musste, wenn sie nicht flott genug lief (besonders im Spielesektor).
Seit Einführung der Mehrkern-CPUs haben die Seiten plötzlich gewechselt. Selbst dem weniger liquiden PC-Enthusiasten stehen plötzlich zweistellige Ghz-Zahlen an Rechenleistung zur Verfügung - die Softwareentwickler sind im Zugzwang und (noch?) auf der Verliererschiene.
Obwohl es Mehrkern-CPUs im Mainstreambereich seit ca. zweieinhalb Jahren gibt (auf die PC-Branche bezogen schon eine kleine Ewigkeit) ist bis auf Profianwendungen, Betriebsystemen und vereinzelt Spiele keine Software wirklich parallelisiert. Was dazu führ,t dass viele sich lieber einen älteren DualCore mit hoher Taktzahl zulegen als einen Quad, der zumindest nominal wesentlich mehr Leistung hat.
Liegt es daran, das Softwareentwickler durch ihre aufrüstwillige Kundschaft aus früherer Zeit zu bequem geworden sind oder an der berühmt-berüchtigten "Faulheit der Programmierer" (von diesen selbst natürlich als Effizienz betitelt

Oder sind es doch wohl eher andere Gründe?
Erfordert das Umdenken auf Parallelität soviel Zeit oder ist die meiste Software gar nicht so multithreading-tauglich wie angenommen/gewünscht/gehofft?
Bei ersterem wäre dann die Frage interessant, wie lange es noch dauert bis der Großteil der verfügbaren Software vielleicht sogar die Brot-und-Butter Freeware vom Freak um die Ecke multithreaded. Von welchen Faktoren hängt das ab?
Letzteres, also die Frage nach der Multithreading-Tauglichkeit von Software, wäre im negativen Fall schon gravierender. Dann würde früher oder später jeder auf gigantischen Taktfrequenzen hocken, die die meiste Zeit nur brachliegen.
Auf eure Antworten bin ich schon gespannt
