.pdb (프로그램 디버그) 파일이 .dll에 포함되어 있으면 발생하는 예외의 스택 추적에 줄 번호가 나타납니다. 이것은 응용 프로그램의 성능에 영향을 줍니까?.pdbs가 릴리스 응용 프로그램을 느리게합니까?
이 질문은 릴리스 대 디버그, 즉 최적화에 관한 것이 아닙니다. .pdb 파일을 사용하면 성능에 영향을 미치게됩니다. 예외가 throw 될 때마다 .pdb 파일을 읽습니까? 어셈블리가로드 될 때 정보가 어떤 방식으로 캐시됩니까? 또는 관련 예외가 처음 throw 될 때 캐시됩니까? 얼마나 차이가 있습니까?
'정상적이지 않다'는게 무엇을 의미합니까? 언제 효과가 있을까요? 또한, 나는 PDB를 가질 수 있고 최적화가 가능하다는 사실이 질문에 어떻게 대답 하는지를 보지 못한다. –
성능에 영향을 미칠 수 있다고 생각되는 특정 사례에 대해 언급했습니다. 스택 추적을 빌드 할 때 정보를 찾아야 할 때입니다. 컴파일러는 PDB가 생성되는지 여부와 상관없이 동일한 IL을 생성 할 수 있으며 JIT 최적화 프로그램은 PDB가 최적화를 수행 할 수 있는지 여부에 상관하지 않습니다. 결과적으로, 생성 된 머신 코드가 동일 할 때, PDB의 존재가 성능을 감소시킬 이유가 없다. –