Ответ 1
Джон Роббинс написал об этом в своей статье Влияют ли файлы PDB на производительность?. Простой ответ - нет (если вы скомпилируете сборку выпуска с помощью переключателей /optimize + и /debug ):
Это может быть правдой для других операционных систем, но не для Windows. Если вы думаете, что они делают, то почему Microsoft строит каждый отдельный продукт, который они отправляют с включенными файлами PDB для сборки отладки и выпуска? Они написали компилятор, они написали компоновщик, и они написали операционную систему, чтобы они точно знали, что такое эффекты. У Microsoft больше людей сосредоточено на производительности, чем на любой другой софтверной компании в мире. Если бы было какое-то влияние на производительность, они бы этого не сделали. Период. Производительность - это не единственное в Microsoft, все.
Дополнительно:
Когда вы создаете/оптимизируете + и/отладочный коммутатор, DebuggingMode.IgnoreSequencePoints передается в DebuggableAttribute, чтобы сообщить компилятору JIT, что ему не нужно загружать файл PDB, чтобы правильно JIT IL.
У него также есть еще одна статья под названием Файлы PDB: что каждый разработчик должен знать, который также хорошо читается.