Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Codeoptimierung in "C" (Matheoperatoren)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
23.10.2006, 16:23 Uhr
0xdeadbeef
Gott
(Operator)


Es sieht mir ganz danach aus, als könne ein Compilerupgrade da ne ganze Menge bringen...
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
23.10.2006, 16:44 Uhr
Archimedes



Ich benutze zum Testen/Debuggen die Visual Studio C++ 6.0 Compiler. Es wurden auf dem Rechner verschiedene Upgrates gemacht, es ist aber möglich, dass der 98er Compiler noch drin ist.
Heute abend werde ich die komplette Software mal neu mit dem aktuellen Intel-Compiler erstellen. Ich erwarte mir schon deutliche Performancezunahme (schätze 5-15%), da ich Intel-Bibliotheken (auch für Intel-Rechner optimiert) benutze.
Sollte die Felder/Zugriff-Organistation stark verbessert worden sein, so sind sicher bis 40% drin.

Nicht zu vergessen, es geht hier immernoch um "C"-Code. Daher rechne ich nicht mit einem Zuwachs, welcher mir Wunderlaufzeiten beschert ! Daher werde ich weiterhin am Quellcode bis in die letzte Zeile optimieren.

Wenn alles nicht hilft, so heisst es eben Handarbeit !
--> Assembler-Code für die rechenintensivsten Methoden schreiben und MMX direkt ansprechen.

Vielen Dank für die vielen Anregungen.
Archi


PS: Einzelne Tipps haben zwar nicht direkt zur Lösung meines Problems geholfen, aber haben mir doch Ideen, Denkanstösse für weitere Ideen/Lösungsansätze gegeben. Nochmals Danke !

Dieser Post wurde am 23.10.2006 um 16:44 Uhr von Archimedes editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
23.10.2006, 16:46 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Du solltest dir mal Visual Stdio 2005 Express runterladen. Das ist eine aktuelle kostenlose Version von Visual Studio.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
23.10.2006, 16:54 Uhr
0xdeadbeef
Gott
(Operator)


Der Intel-Compiler dürfte im Vergleich zum VC 6 schon nen ganzen Haufen bringen, vor allem mit Optimierungen - der Intel-Compiler kennt die Intel-CPUs schon ziemlich gut, der kriegt den Kram oft auch schon eigenständig vektorisiert und so. Der VC6 dagegen - naja, der kann C grad noch so übersetzen. C++ schon nicht mehr, und auf sinnvolle Optimierung brauchst du garnicht erst zu hoffen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
23.10.2006, 17:02 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


ja können ihn ja mal mit ner gcc version von 98 vergleichen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
23.10.2006, 17:07 Uhr
Archimedes



Ich hab aber leider von der Hochschule einen Rechner, auf dem ich nix weiter installieren kann. Daher hab ich nicht die Wahl. Zuhause arbeite ich auf Visual.net 2005. Als Student bekommt man da sogar eine Vollversion mit Lizenz.

GCC 3.0, 3.3, 3.4, 4.0 hab ich auch noch auf meiner Kubuntu Distribution. Aber wie schon gesagt... Meine Aufgabenstellung ist klar. Die Zielmaschine ist auch ein Intel mit Windoof.

Selbst zum Testen bringt mir mein Heimatsystem nicht viel, da ich einen Athlon habe. Da bin ich mir nichtmal sicher, ob der die Ipl-Bibliothek fehlerfrei benutzt (und ganz sicher nicht laufzeitoptimiert)

Gruss,
Archi

Dieser Post wurde am 23.10.2006 um 17:11 Uhr von Archimedes editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
23.10.2006, 17:19 Uhr
0xdeadbeef
Gott
(Operator)


Naja, auf Intel-CPUs produziert der icc wahrscheinlich immer noch den schnellsten Code. Allerdings würd ich auch mal den gcc 4.1 drüberlassen, mit -O3 und ner passenden -mtune-Option - seit 4.0 kann der auch Autovektorisierung, das dürfte dir gerade bei diesem Code gewaltig helfen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: