Alexander (HH): Mit welcher programmiersprache/technik werde ich hier schneller

Beitrag lesen

Moin Moin!

Im Ernst: Programme in Sprachen, die zur Laufzeit ein paar CPU-Zyklen einsparen, werden von der "langsameren" Sprache auf der nächsten CPU-Generation oft überholt.

„Hardware nachlegen“ ist nicht immer eine Option.

Exakt, das ist so ziemlich die schlechteste aller Optimierungsmöglichkeiten. Wenn man schon ein extrem ausgefuchstes System hat, und so ziemlich alle anderen Optimierungsmöglichkeiten ausgereizt hat, dann kann das sinnvoll sein. Oder wenn Optimierung auf Neuschreiben hinausläuft und wesentlich länger dauert und teurer wird als stumpf die beste verfügbare Hardware zu kaufen und mit dem aktuellen Stand der Optimierung weiter zu arbeiten.

Manchmal heißt Optimierung auch, den aufwendigen Kern des Problems mit einem oder einigen ASICs oder FPGAs zu erschlagen, die das spezifische Problem schneller als eine Universal-CPU durchrechnen könnnen. Dann sind wir aber schon bei sehr speziellen Problemen.

Aber prinzipiell hast du Recht; Hardware ist billig und gute Programmierer sind teuer.

Richtig. Deswegen sollte man den Programmierern schnelle Hardware zur Verfügung stellen, damit die nicht den ganzen Tag auf Build-Läufe warten müssen. Was aber nicht zwingend heißen muß, dass jeder Programmierer an einer High-End-Workstation arbeiten muß.

Und was ganz sicher nicht heißt, dass Programmierer keine Ahnung von Algorithmen und Datenstrukturen haben müssen und alles per Brute Force erschlagen sollen. Ganz im Gegenteil! Die große Kunst ist, auf einem schnellen Rechner Software zu entwickeln, die auch auf einem langsamen Rechner noch schnell genug ist.

In der Regel ist sowieso das Netzwerk o. Ä. der Flaschenhals, nicht die Anwendung.

Das kommt sehr auf das Problem an, so generell würde ich das nicht sagen.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".