PC處理器十年前進入雙核心時代,至今桌面上主流還是四核心,六核、八核并不多,而手機處理器在無限軍備競賽的刺激下,短短幾年就已經迎來了十核(聯發科MT6797)!
與此同時,争論也始終不斷:Android系統真的能充分利用這麼多核心嗎?
Android Authority近日就此進行了一次細緻的測試。原理很簡單,Android系統内的/proc/stat文件裡就有CPU每個核心利用情況的記錄,編寫一個簡單的小工具即可提取出來,而為了減少監視對性能的影響,在測試進行期間僅提取數據,事後再分析。
測試處理器是四核的骁龍801、八核的骁龍615。
每個核心的利用率都很高,大部分時間都在40-70%的範圍,甚至能突破90%。注意:這是個平均後的圖表,因為原始數據跳躍性太大,事實上根據原始數據,有好多次都接近100%的。
骁龍615的八個核心也都很活躍,4個以下很少。
盡管每個核心的利用率不同,有2-3個明顯偏高,但都沒閑着。注意骁龍615是基于big.LITTLE架構的,這裡多個核心運行并不是為了提高性能,而是為了能效。
Chrome做了很好的多線程優化,會高效地将工作負載分配給多個核心。其他應用又是如何呢?我們挨個來看。
作為參考,這是八核待機時(屏幕開啟但無任何操作)的狀态。CPU也并沒有閑着,最多會開6個。
YouTube跑四核:隻用了2個核心,平均利用率低于50%。
YouTube跑八核:主要用4個,偶爾6個,偶爾3個,平均利用率30%。有趣的是,big核心用的很多,LITTLE核心卻很少。
《神廟逃亡2》跑四核:2個很平均地分配工作,另外2個沒啥用。
《神廟逃亡2》跑八核:大部分時間4-5個,少數時候7個,但基本隻有一個在幹幾乎全部工作。
《神廟逃亡2》跑聯發科四核:全部4個分享工作。
Gmail跑四核:2-4個分工合作,但裡偶遇你顧慮從未超過50%。
Gmail跑八核:4-8個,但利用率不到35%。
《激流快艇2》跑四核:基本用2個,另外2個很清閑。
《激流快艇2》跑八核:一直用6-7個,但大部分工作都是其中3個完成的。
接下來是一個很有趣的測試程序:安兔兔。
注意最後階段,八個核心全部都在全速運行,這是普通應用裡絕對看不到的。
你可能會問了,Gmail這樣的輕量級應用,怎麼會用到8個核心呢?其實這都是big.LITTLE混合架構的結果。工作負載升高了,就會開始調用big核心,LITTLE核心逐漸休息,反之亦然,中間還有一些交叉時刻。
當然,切換的速度是非常快的,每秒鐘都會幾千次。
再以《Epic Ciadel》為例看看:
剛開始是big核心在忙活,LITTLE核心幾乎休眠,然後大約12秒的時候,big核心輕松下來,LITTLE核心開始活躍,20秒前後再次切換,然後30秒、45秒、52秒反複切換。
期間,核心使用數量就在不停變化,比如前10秒隻有3-4個(big核心),12秒前後最多6個,然後降到4個。
本次測試的目的十分單純,就是看看不同場合下,CPU有幾個核心能夠得到發揮。盡管測試不是很深入全面,比如缺乏A57/A53、A72/A53這樣的組合,比如監測數據間隔比較長(330毫秒),但仍能在很大程度上說明一個問題:
現如今,多核心在手機上并不是完全沒用的浪費,特别是在big.LITTLE混合架構下,異構多處理技術(HMP)已經相當純熟,可以有效地根據負載情況,調動合适的不同核心去工作,而且不僅僅是大型遊戲,谷歌自己的Chrome和Gmail等應用就做得很好。
當然絕大多數情況下,四核處理器都是夠用了,八核多出來的四顆核心,主要作用還是節能省電,節能核心與性能核心交替使用,big.LITTLE架構也不是盡善盡美,但我們很欣喜地看到,Android應用開發已經快速跟上了多核心的腳步,單純說“多核無用”是不對的,但單純誇大多核心的作用、唯核心數量論也是不對的。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!