我的工作,以減少大量的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