fortran
-
Hallo.
Wenn ich möglichst effiziente und schnelle Programme für/mit viel mathematische Berechnungen schreibe, wie macht man sowas am klügsten?
A) Eigene Mathe API machen (also vektoren, ebenen, gleichungen usw)
Eine (mir unbekannte) Mathe-lib nehmen
C) Fortan nutzenLetzteres soll ja verdammt schnell sein?
Mir geht es hier um Performance! Derzeit will ich mit Linearer Geometrie anfangen (bsp schintt zweier ebenen und sowas)...
Dankesehr
-
Wenn du nicht in der Lage bist dir diese Frage selber zu beantworten, dann bist du auch nicht in der Lage so performante Programme zu schreiben, wie du meinst, dass du es müsstest.
-
mal ehrlich schrieb:
Wenn du nicht in der Lage bist dir diese Frage selber zu beantworten, dann bist du auch nicht in der Lage so performante Programme zu schreiben, wie du meinst, dass du es müsstest.
Aber zum Glück geht es darum nicht du Prachtexemplar
@Topic: C
-
Sorry, aber so blöd kann die Frage nicht sein?? Und weiter stupider Arroganz wie vorzubeugen. Es handelt sich um extrem viele rechenoperationen auf einmal! Und dementsprechend einfach ist es für weniger geniale menschen wie "mal-ehrlich" die sache zu beschleunigen, wenn ich bereits optimiertes zeug hernehme. Also:
Ist fortran wirklich so sehr viel schneller als zum Beispiel scimath oder imath oder anderen C/C++ libs?
Dankesehr

-
Die Antwort lautet natürlich Assembler.

-
Mal ehrlich: wenn du intelligente Algorithmen verwendest und guten Code schreibst, der teure Operationen weitestgehend vermeidet, ist C++ auf jeden Fall schnell genug. Da braucht es auch keinen Assembler. Ich halte es für Quatsch, die Sprache zu wechseln und sich zu erhoffen, da riesige Performancesteigerungen zu erzielen. C++ ist was Performance angeht kaum zu übetreffen. Worauf es ankommt, ist durchdachter Code.
-
smasher1985 schrieb:
Mal ehrlich: wenn du intelligente Algorithmen verwendest und guten Code schreibst, der teure Operationen weitestgehend vermeidet, ist C++ auf jeden Fall schnell genug. Da braucht es auch keinen Assembler. Ich halte es für Quatsch, die Sprache zu wechseln und sich zu erhoffen, da riesige Performancesteigerungen zu erzielen. C++ ist was Performance angeht kaum zu übetreffen. Worauf es ankommt, ist durchdachter Code.
Vielen Dank!! Hab schon Gedacht ich bekomme heute keine vernünfige Antwort mehr. Ich schreibe nämlich gerade an einer recht umfangreichen template-klassensammlung und bin mir nun mittendrin nicht mehr ganz sicher ob sich das überhaupt lohnt.

-
-. schrieb:
Ich schreibe nämlich gerade an einer recht umfangreichen template-klassensammlung
Das dürfte mit einigen anderen Programmiersprachen sowieso schwierig werden. Oder versuchs mal in Assembler

-
Nexus schrieb:
-. schrieb:
Ich schreibe nämlich gerade an einer recht umfangreichen template-klassensammlung
Das dürfte mit einigen anderen Programmiersprachen sowieso schwierig werden. Oder versuchs mal in Assembler

Also ich hab Assembler nie erwähnt
Zudem wäre so etwas mit Fortran doch möglich?! Kann man ja in cpp einbinden
-
Vielen Dank!! Hab schon Gedacht ich bekomme heute keine vernünfige Antwort mehr. Ich schreibe nämlich gerade an einer recht umfangreichen template-klassensammlung und bin mir nun mittendrin nicht mehr ganz sicher ob sich das überhaupt lohnt.

Bitte sehr
Was meinst du mit "ob sich das lohnt"? Du wirst performance-mäßig wohl kaum schneller werden als existierende Bibliotheken. Allerdings weiß ich auch nicht genau, was auf diesem Bereich an Bibliotheken existiert und wie speziell die Funktionen sind, die du implementieren willst. Auf jeden Fall viel Erfolg weiterhin!
-
Fortran ist in der Performance nicht schneller oder langsamer als C/C++. Du wärest einer der wenigen Programmierer, die in diese Richtung umzusteigen überlegen. Die meisten sind von Fortran nach C/C++ umgestiegen - ich auch!
-
-. schrieb:
Hallo.
Wenn ich möglichst effiziente und schnelle Programme für/mit viel mathematische Berechnungen schreibe, wie macht man sowas am klügsten?
A) Eigene Mathe API machen (also vektoren, ebenen, gleichungen usw)
Eine (mir unbekannte) Mathe-lib nehmen
C) Fortan nutzenLetzteres soll ja verdammt schnell sein?
Mir geht es hier um Performance! Derzeit will ich mit Linearer Geometrie anfangen (bsp schintt zweier ebenen und sowas)...
Dankesehrdie antwort lautet b! eine (dir unbekannte) mathe-lib, nämlich blitz++, die sich trotz objektorientierung mit fortran messen kann und dies auch tut!