Microsoft KB Archive/255252

From BetaArchive Wiki
Knowledge Base


Description of the performance problems of building projects over a network in Visual C++

Article ID: 255252

Article Last Modified on 4/26/2006



APPLIES TO

  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Standard Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio 2005 Express Edition
  • Microsoft Visual Studio 2005 Team System Architect Edition
  • Microsoft Visual Studio 2005 Team System Developer Edition
  • Microsoft Visual Studio 2005 Team Foundation
  • Microsoft Visual Studio 2005 Team System Test Edition



This article was previously published under Q255252

SUMMARY

Microsoft Visual C++ was not specifically designed and tested to access and build projects directly over a network. If you try to perform these tasks with Visual C++, you will experience problems with building and performance. Visual C++ does not perform any special operations to accommodate network drives and shares, and it is unaware of whether the file it is reading or writing is on a network drive or a local drive. Use of Visual C++ in this manner is not supported.

MORE INFORMATION

You will experience performance problems when you use Visual C++ to access projects in the following configurations:

  • Share a Visual C++ project on a Windows 98-based computer. On a computer running Windows NT 4.0, use Visual C++ to open the shared project. From the FileView tab, select a file and double-click to open it. You will experience a delay. This is due to the fact that Windows 98 is a nonopportunistic locking server. (If the same project is shared from Windows NT 4.0 or Windows 2000, you might not experience this problem.)
  • Share a Visual C++ project on a Windows 98-based computer. On a computer running Windows NT 4.0, map the share to a drive. Open the project from the mapped drive using Visual C++. You will notice that Visual C++ accesses the project's source and header files approximately every 4 seconds. (If the same project is shared from Windows NT 4.0 or Windows 2000, you might not experience this problem.)

There may be several other network configurations under which Visual C++ performance could suffer. For example, you may be using SAMBA to obtain files from remote UNIX computers. SAMBA is a file service that attempts to emulate Windows server message block (SMB) network file protocol.

Microsoft recommends that you use source code control software to obtain a local copy of projects for use with Visual C++. Microsoft Visual SourceSafe is source code control software that is optimized for use with Visual C++. There are other source code control software packages available, but they may not be optimized for use with Visual C++, so you may run into performance problems. In such cases, contact the vendor of the source code control software for assistance.

REFERENCES

For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

236399 How to troubleshoot Visual C++ performance problems


130615 Unwanted rebuilds occur when using NMAKE or Visual C++


See the following area in the MSDN Library for Visual C++ 6.0 for documentation on Visual SourceSafe:

MSDN Library; Visual Studio 6.0 Documentation; Visual SourceSafe Documentation


See the following topic in the MSDN Library for Visual C++ 6.0 for documentation on Opportunistic Locks:

MSDN Library; Storage; Storage Overview; File Systems; Input and Output (I/O); Network I/O Concepts
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/opportunistic_locks.asp


The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.

Keywords: kbinfo kbperformance kbide kbnetwork kbdevstudio kbosnovell KB255252