Respuesta

14

De la parte superior de mi cabeza, no puedo pensar en un par de razones:

  1. la mejora en el tiempo de construcción con la opción /MP depende del número de procesadores que el usuario tiene a su disposición. El equipo de Visual Studio probablemente no cree que sea razonable (todavía) suponer que todos tienen procesadores múltiples. (Tenga en cuenta que HyperThreading no cuenta necesariamente como procesadores múltiples cuando se trata de optimizaciones como esta).

  2. La opción /MP es incompatible con algunas opciones de compilación y lenguaje. En general, los valores predeterminados deberían tratar de maximizar la compatibilidad, incluso a expensas de la velocidad si es necesario. Que algo sea "mejor" no es el único criterio evaluado al elegir establecerlo como predeterminado. No debería tener que descifrar el manual para ver qué significan las advertencias del compilador "D9030" o "C2813" y por qué su proyecto que compiló muy bien en VS2008 no se compilará en VS2010.

El documentation explica estas preocupaciones en más detalle, e incluso incluir algunos Guidelines sobre cómo determinar si permite la opción /MP es la mejor decisión para casos individuales.

Cada vez que tenga que publicar directrices sobre si una característica debe habilitarse o no, probablemente no se debe habilitar por defecto. Usuarios avanzados (y no, esto no es un oxímoron: no todos los que usan Visual Studio son usuarios avanzados porque esta designación es relativa al producto en cuestión) como si pudieran decidir por sí mismos si desean o no habilitar esta opción.

+0

Gracias Cody. Tu respuesta fue de gran ayuda para mí. – codevania

Cuestiones relacionadas