筆記本電腦通常最多具有四個核心,而雙核心可能更常見。我最近已經從四核切換到雙核,並且可以確認四核的用例數量有限,即使執行CPU密集型任務。
另一方面,在手機上,四核,六核和八進制似乎常見。為什麼?哪些任務可以利用它們?
我知道 big.LITTLE可以成為答案的一部分。也就是說,這麼多內核的主要好處不是能夠同時使用所有內核,而是使用功耗適合當前工作負載的內核。但是,例如,Snapdragon 625具有八個Cortex-A53內核,這似乎不是big.LITTLE的情況。
也許ARM架構的每瓦最佳性能較低。也就是說,將單個內核調整為每瓦最佳性能會導致ARM上的性能低於Intel上的性能。因此,使用了更多內核來提供性能。這只是一個假設。
但是即使在這種情況下,我也看不到什麼工作負載可以有效地使用手機上的八個內核。在筆記本電腦上,我可以想像一些像項目的完整(非增量)編譯。但是在手機上?
- 遊戲可能會要求很高的性能,但是它們通常需要GPU性能而不是CPU,不是嗎?
- 理論上,多核可以加速在安裝或升級時(即“優化應用程序3/121”階段)進行Android Lollipop / Marshmallow AOT編譯。但是,我不確定這是否可以利用多個內核。據我記得的代碼,一次只編譯一個應用程序,但是編譯過程本身可能存在一些並行性。
- Android 7+還可在編譯時利用多個內核。但是由於據報導它在空閒和充電時會編譯,因此收益似乎很小。至少當一個人整夜為手機充電時,我真的不在乎這種情況下是花費30分鐘還是兩個小時。