In visual studio there's an option called "Optimize for debugging" in the linker settings for a project:
By default it's set to "Optimize for debugging (/DEBUG)", even for the release configuration. Why is that? Does that change the built program in any way? Is there any disadvantage of having it enabled (Slower execution?)? Should I set this option to "No" before shipping a program? Or is it just to enable/disable generating the .pdb-debug file (=slower compile times when enabled)?