Odpowiedz

14

Off szczycie mojej głowie, mogę pomyśleć o kilku przyczyny:

  1. poprawa w czasie kompilacji z opcją /MP zależy od liczby procesorów użytkownik ma dostępne. Zespół Visual Studio prawdopodobnie nie uważa za rozsądne (jeszcze) założenie, że każdy ma ma wiele procesorów. (Należy pamiętać, że funkcja HyperThreading nie musi być liczona jako wiele procesorów, jeśli chodzi o optymalizacje, takie jak ta.)

  2. Opcja /MP jest niekompatybilna z niektórymi opcjami kompilatora i funkcjami językowymi. Ogólnie rzecz biorąc, domyślne ustawienia powinny dążyć do maksymalizacji kompatybilności, nawet jeśli jest to konieczne, kosztem prędkości. To, że coś jest "lepsze", nie jest jedynym kryterium ocenianym przy wyborze ustawienia domyślnego. Nie powinieneś otwierać podręcznika, aby zobaczyć, co oznaczają ostrzeżenia kompilatora "D9030" lub "C2813" i dlaczego Twój projekt, który kompilował się dobrze na VS2008, nie będzie się kompilował w VS2010.

documentation wyjaśnia te kwestie bardziej szczegółowo, a nawet zawierać pewne Guidelines w jaki sposób określić, czy włączenie opcji /MP jest najlepsza decyzja dla poszczególnych przypadków.

Za każdym razem, gdy trzeba opublikować wytyczne dotyczące tego, czy funkcja powinna być włączona, prawdopodobnie nie powinna ona być domyślnie włączona. Zaawansowani użytkownicy (i nie, to nie jest oksymoron: nie każdy, kto używa Visual Studio, jest zaawansowanym użytkownikiem, ponieważ to oznaczenie jest względne w stosunku do danego produktu), tak jak sam decydujesz, czy chce włączyć tę opcję.

+0

Dziękuję Cody. Twoja odpowiedź była dla mnie wielką pomocą. – codevania

Powiązane problemy