none
/MP on visual C++ 2005 ! It's works. Isn't it ? RRS feed

  • Question

  • Hy,
    after installing Visual Studio 2008 on my PC and test successfully the /MP option on my C++ project, I had tested it on Visual 2005.

    I have just put the /MP option in C++ command line, and on my Dual Core, my CPU passed from 50% of usage to 100% on VC 2005 !
    And when I check launch program, without /MP (on VC 2005), where are only one "cl.exe". And with /MP option I have 3 "cl.exe". And two of them take 50% and 50% ! (I don't understand with I have a third one, because I limited max projects build to 2 and I have a Dual...).

    It's amazing, this option isn't documented by microsoft, but it seem work perfectly !

    I hope someone in Microsoft could tell me with... I have dream this option on VC 2005 during last 2 years...
    Friday, April 18, 2008 9:32 PM

Answers

  •  

    /MP in VC8 (2005) was buggy and therefore undocumented.  You really don't want to use it, even if it looks like it works at first.

     

    /MP in VC9 (2008) was fixed and therefore documented.

     

    Stephan T. Lavavej

    Visual C++ Libraries Developer

    Saturday, April 19, 2008 12:57 AM

All replies

  •  

    /MP in VC8 (2005) was buggy and therefore undocumented.  You really don't want to use it, even if it looks like it works at first.

     

    /MP in VC9 (2008) was fixed and therefore documented.

     

    Stephan T. Lavavej

    Visual C++ Libraries Developer

    Saturday, April 19, 2008 12:57 AM
  • There's a bug in mspdbsrv.exe, a service that allows multiple instances of the compiler to access a single .pdb file.  It leaks file handles and exhibits runaway memory usage.  These problems were not fixed in vs2008.  In my experience, /MP considerably worsens this problem and caused frequent compile errors due to locked .pdb files.  You can kill mspdbsrv.exe and let the compiler start a new instance as a temporary fix but /MP quickly brings it back.  Better wait for the next SP.
    Sunday, April 20, 2008 9:14 PM
    Moderator