多核編譯
A. 如何讓gcc支持多核編譯
四核四線程用 make -j5
四核八線程用 make -j9
經常搞大量重復編譯,建議使用ccache
B. 多核編程與單核編程的區別
多核對於單核的好處是可以真正地同時處理多件事情,因此如果程序想要在多核CPU上獲得更好的性能的話,使用多線程技術是必需的。但是採用多線程涉及到線程間數據同步的問題,程序員必須在線程間協調好對數據的訪問和處理。
不過我覺得多核編程與單核編程的區別並不是指線程同步問題,因為單核編程同樣可以使用多線程,同樣需要面對線程同步的問題。同樣的代碼不經過特別優化,均可以在多核CPU和單核CPU上運行得很好,只不過運行效率不同罷了。
所以我覺得多核編程和單核編程的區別在於對多線程技術需求的迫切程度。如果程序針對多核環境來編程,那麼必然要採用多線程技術,以獲得更好的性能;如果程序只針對單核環境,那麼對多線程並不是那麼敏感,但如果它採用了多線程,一旦在多核環境運行,它也能獲得性能的提升。
C. VS2010編譯的時候是不是有個發揮多核優勢、加快編譯速度的選項
跟你的CPU有關吧,你的CPU是雙核的就是雙核編譯
D. 原來編譯軟體看的是核心數加CPU主頻嗎,「升
核心越多,處理器的並行處理能力越強,換句話說,就是能夠同時處理任務的數量多。主頻越高,說明在處理單個任務的時候更快。 你可以把核心數量看作逗手地的數量——數量越多,同時搬起的東西就越多;而主頻就相當於逗手地的力量——力量越大,就能勝任更繁重的工作。 有些軟體,沒有針對多核心的優化,那麼,多核處理器運行這類軟體的時候,一個核心累得要死,另外幾個就干看著幫不上忙。這類軟體完全是吃主頻的軟體,處理器主頻越高,運行效果越好。 近一、二年的軟體,基本上作了雙核心的優化。換言之,單核心處理器運行的時候,需要二.吧GHz,而雙核心運行的時候呢,主頻要求就可以低一些,可能只需要二.四GHz就夠了。 還有,不是說處理器的總主頻=核心數*主頻,這二者完全不是一個概念,不是疊加的概念
E. 用VS2010寫的C#程序在win7下編譯和運行,能對多核心處理器有較好的利用率么
理論上不會有任何的幫助........
要對多核心有很好的利用率,必須從代碼上修改.
不過,前面我說的是理論上.
實際上了, 如果你是從winxp和win2003到win7的話,會在運行時有一定的幫助
因為win7和vista的多核心運算比xp和2003有一定的提高.舉個例子,2003和xp不管你是否開啟cpu性能最大化,在多線程下,你的計算程序會從多個核心中獲取資源,比如你是雙核,程序會從核心1和核心2中反復跳轉,獲得共計100%左右上下浮動10%左右的資源.然而, 在跳轉之間實際上獲取的性能不如只讓程序在核心1中單獨運行.
在win7和vista以及win8等更新的Nt6系列系統下,程序不管是在雙核還是四核六核下,都能真正獲取一個核心100%的性能.
你明白了嗎?
在不指定程序運行核心為單獨核心的情況下,xp和2003有性能損失,win7等新系統倒是沒有.
你可以做測試,驗證我這個觀點,我是做過多次測試的.
希望你滿意我的回答
F. 編譯軟體要多核CPU還是高主頻的啊,32個g內存128g硬碟夠嗎
編譯軟體需要多核處理器,32GB內存、128GB固態硬碟完全夠用。
G. 編程吃cpu單核還是多核
編程序使用的IDE工具,一般是多線程的,一邊開發代碼、一邊自動自動分析語法和提示函數用法。這就用到CPU多核性能。編譯程序時只會使用一顆CPU的單線程處理。
H. 有什麼辦法可以加速make的編譯耗時,以利用到底層的多核硬體
在使用 makefile 工具對多個源程序進行編譯、連接時,首先必須要確保你需要編譯的程序都是正確的,然後將編譯各個源程序按照一定的先後順序寫入到一個 makefile 文件中(預設名稱叫 makefile,但是也可以使用別的文件名),在此編譯過程中,到底哪一個源程序是只編譯、不連接;
哪一個源程序是需要等別的源程序都編譯好了之後,再進行最後的連接,這些都必須寫清楚。
I. 編程需要多核cpu嗎
看是什麼編程了,一般的編程只是文本編輯,編譯,所以對CPU沒有要求的。