Wenn eine .pdb-Datei (Programm-Debug-Datei) in einer .dll-Datei enthalten ist, werden Zeilennummern im Stack-Trace einer ausgelösten Ausnahme angezeigt. Beeinflusst dies die Leistung der Anwendung?Machen .pdbs eine Freigabeanwendung langsamer?
Diese Frage ist nicht über Release vs. debug, das heißt Optimierungen. Es geht um die Auswirkungen von .pdb-Dateien auf die Leistung. Werden die PDB-Dateien jedes Mal gelesen, wenn eine Ausnahme ausgelöst wird? Werden die Informationen in irgendeiner Weise zwischengespeichert, wenn die Assemblys geladen werden? Oder wird es beim ersten Mal zwischengespeichert, wenn eine relevante Ausnahme ausgelöst wird? Wie viel Unterschied macht es?
Was meinst du 'nicht normal'? Wann wird es einen Effekt haben? Ich verstehe auch nicht, wie die Tatsache, dass man sowohl PDBs haben als auch Optimierungen aktivieren kann, die Frage beantwortet. –
Ich erwähnte den speziellen Fall, ich denke, es könnte die Leistung beeinträchtigen: wenn Sie Informationen von ihm suchen müssen, wie Sie eine Stack-Trace erstellen. Der Compiler kann identische IL erzeugen, ob eine PDB erzeugt wird oder nicht, und es ist dem JIT-Optimierer auch egal, ob PDB vorhanden ist oder nicht, um seine Optimierungen zu ermöglichen. Wenn also der generierte Maschinencode identisch ist, gibt es keinen Grund, dass die Existenz eines PDB die Leistung reduzieren würde. –