我的工作,以减少大量的Visual C++ 2008应用程序的生成时间。其中最严重的瓶颈似乎是PDB文件的生成:在链接阶段,mspdbsrv.exe会迅速消耗可用的RAM,并构建机器开始页面不断。什么是Visual C++ PDB文件的合理大小?
我目前的理论是,我们的PDB文件是太大了。但是,我一直无法找到有关PDB文件“正常”大小的信息。我一直在服用我们的应用程序的DLL之一的一些粗略的测量,具体如下:
- CPP文件:34.5 MB,900K线
- 头文件:21 MB,400K线
- 编译DLL: 33 MB(编译调试,不释放)
- PDB:187 MB
所以,PDB文件大致是570%的DLL的大小。 有大型Visual C++应用程序经验的人能否告诉我这些比率和大小是否有意义?还是有迹象表明我们做错了什么?
(在我们的应用中最大的PDB文件是目前271 MB,为47.5 MB DLL源代码大小是难以衡量的那一个,虽然)。
谢谢!
谢谢。我打算试验更小的DLL;我的希望是,这将导致更小的PDB文件,然后可以在更少的内存中处理,从而减少分页和减少磁盘I/O。不过,这只是一个假设。 – 2010-10-25 14:22:01