.pdbs замедляют приложение выпуска?

В теории говорится, что очень связные, слабо связанные реализации являются путем вперед.

, Таким образом, я предполагаю, Вы подвергаете сомнению тот подход, а именно, разделяя проблемы.

мой aspx.cs файл должен взаимодействовать с базой данных, называя sproc, и понимая IDataReader?

В среде команды, особенно где у Вас есть меньше технических людей, имеющих дело с aspx частью приложения, мне не нужны эти люди способность "коснуться" этого материала.

Разделение моего домена от моей базы данных защищает меня от структурных изменений в базе данных, конечно, хорошая вещь? Верная эффективность базы данных абсолютно важна, таким образом позвольте кому-то, кто является самым превосходным в том соглашении о материале с тем материалом, в одном месте, с как можно меньшим влиянием на остальную часть системы.

, Если я не неправильно понимаю Ваш подход, одно структурное изменение в базе данных могло иметь большую зону поражения с поверхностью Вашего приложения. Я вижу, что это разделение проблем позволяет мне и моей команде минимизировать это. Также любой новый член команды должен понять этот подход лучше.

кроме того, Ваш подход, кажется, защищает бизнес-логику Вашего приложения для нахождения в базе данных? Это чувствует себя неправильным мне, SQL действительно хорош в запросах данных, и не, по моему скромному мнению, выражая бизнес-логику.

Интересная мысль, хотя, хотя это чувствует один шаг далеко от SQL в aspx, который с моих плохих старых неструктурированных дней asp, заполняет меня страхом.

12
задан Matt Howells 13 August 2009 в 10:22
поделиться

2 ответа

Джон Роббинс написал об этом в своей статье Влияют ли файлы PDB на производительность? . Простой ответ - нет (если вы компилируете свою сборку выпуска с переключателями / optimize + и / debug):

Это может быть верно в других операционных системах, но не в Windows. Если вы так думаете, то почему Microsoft создает каждый продукт, который они поставляют, с файлами PDB, включенными как для отладочной, так и для выпускной сборки? Они написали компилятор, они написали компоновщик, и они написали операционную систему, поэтому они точно знают, каковы эффекты. У Microsoft больше людей, ориентированных на производительность, чем у любой другой компании-разработчика программного обеспечения в мире. Если бы вообще было какое-то влияние на производительность, они бы этого не сделали. Период. Производительность - не единственное, что делает Microsoft, это все.

Дополнительно:

При построении / optimize + и переключателе / ​​debug появляется DebuggingMode. IgnoreSequencePoints передается в DebuggableAttribute, чтобы сообщить JIT-компилятору, что ему не нужно загружать файл PDB для правильного JIT-кода IL.

У него также есть другая статья, озаглавленная Файлы PDB: что должен знать каждый разработчик , которую тоже стоит прочитать.

14
ответ дан 2 December 2019 в 18:20
поделиться

Не всегда. PDB и оптимизации ортогональны. Один можно включить независимо от значения другого параметра. Однако это может снизить производительность, если вы действительно хотите использовать информацию, содержащуюся в PDB, например, когда вы обращаетесь к StackTrace исключения и ему необходимо получить номера строк из PDB или когда вы вызываете новый StackTrace (true) .

Между прочим, у Эрика Липперта есть соответствующая запись в блоге об оптимизации компилятора .

6
ответ дан 2 December 2019 в 18:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: