【測試數據】android下CPU核與線程數的關系


測試方法

  • 24MB的一張4K圖片,連續計算5次直方圖。
  • 小米mix2s, 高通驍龍 845。4大核,4小核。

數據表格

線程數 絕對時間(s) 累計CPU時間(s) 每線程平均耗時(us) 每線程最大耗時(us) 每線程最小耗時(us)
1 0.61 0.58 587046 587046 587046
2 0.60 1.18 588503.5 588689 588318
3 0.61 1.76 587499.7 588286 586093
4 0.64 2.35 604698.3 621798 590103
5 0.75 3.26 657402.2 723562 596115
6 0.90 4.09 693556.8 872494 586573
7 0.90 4.95 724761.4 873561 601295
8 0.95 5.78 752522.5 932782 590163
9 1.05 6.65 828028.8 1021817 603812
10 1.11 7.53 941308.7 1089352 800818
11 1.16 8.32 1035326.9 1138341 804851
12 1.23 9.19 1146151 1186803 975380
13 1.33 9.96 1192113.5 1282736 810042
14 1.45 10.71 1299307.3 1420515 1158541

數據圖表

線程數與進程的絕對執行時間

線程數與計算耗時

結論

是否存在一個進程只能用四個大核,或者只能用四個小核的情況?

不會,四個大核和四個小核都被啟用了。

數據曲線的分檔:

性能的差別大致可以分為以下四檔:

  • 1-4個線程:全部用大核
  • 5-8個線程:一半計算用了大核,一半計算用了小核。大核的計算性能平均是小核的1.42倍,最大約1.7倍。
  • 9-12個線程:測試是否大核上調度了兩個線程,而小核上只調度一個線程?不是的,不是一次計算始終在一個核上(否則打印出線程的絕對起止時間就會發現排隊的現象,但實際測試並未發現排隊,說明比如被CPU交錯調度了)
  • 13+線程:平均來算,小核也要調度多余一個線程的情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM