Programm viel langsamer nach statsichem Linken
-
Hallo zusammen,
Daten:
MS Visual C++ EE 2005
WinXP Prof. SP2ich habe eine Win32 Anwendung programmiert und bisher immer dynamsich gelinkt.
Jetzt, da ich das Programm weiterreichen muss, wollte ich es statsich linken:
Konfiguration -> Code Generierung -> Laufzeitbib -> MTd
klappt wunderbar, jedoch ist das Programm deutlich langsamer (und ich spreche hier von Faktoren) als das dynamsich gelinkte.
Grundsätzliche Frage: Ist dieses Phänomen bekannt?Ich habe noch weitere Fragen aber dazu fehlt mir jetzt der Nerv. Ach ja und die Zigaretten sind auch alle
Und das um die Uhrzeit...Wie immer, danke ich im Voraus.
Grüße
TechM
-
Wieso MTd? "d" wie in "debug" wenn ich mich richtig erinnere. Klar dass das langsam ist.
-
Statisch/dynamisch hat mit der Geschwindigkeit nichts zu tun... man könnte eher sagen: statisch ist schneller als dynamisch!
-
Hallo zusammen,
vielen Dank erstmal.ja in der tat, aber ich hatte ja auch den vergleich zwischen MDd und MTd, also denke ich sollte es nicht langsamer werden.
@ jochen:
ja das war/ist auch mein stand der dinge gewesen.
darüber hinaus habe ich gestern noch reichlich fehlermeldungen erhalten wenn ich versucht habe es als release mit (Code-Generierung: MT) zu kompilieren.
Habe das projekt jetzt neu aufgesetzt und siehe da, alles funktioniert. Wieso? Weiss ich nicht, aber für meine Bedürfnisse ist Visual C++ sowieso maßlos überladen. Mal sehen ob ich das gebacken kriege.
Ach ja, wenn ich hier schon am schreiben bin; ich erhalte folgende Warnung bei Erstellen der Projektmappe:
1>LINK : warning LNK4075: /INCREMENTAL wird aufgrund der Angabe von /OPT:ICF ignoriert.
Kann damit jetzt nichts anfangen, muss aber die Suche auch noch bemühen.
grße
TechM
-
TechM schrieb:
ja in der tat, aber ich hatte ja auch den vergleich zwischen MDd und MTd, also denke ich sollte es nicht langsamer werden.
geschwindigkeitsvergleiche von debugbuilds sind in jeglicher form sinnlos. die sind nur zur fehlersuche gedacht. wenn schon vergleichen, dann releasebuilds.
1>LINK : warning LNK4075: /INCREMENTAL wird aufgrund der Angabe von /OPT:ICF ignoriert.
in den projektoptionen wurde im reiter linker/optimization die option "comdat folding" (deutsche bezeichner kenne ich nicht) eingeschaltet, die verträgt sich nicht mit inkrementellem linken. ist übrigens eine optimierung, die für debug builds keinen vorteil bringt.
-
besten danbk
grüße
techm