zoukankan      html  css  js  c++  java
  • 【测试数据】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+线程:平均来算,小核也要调度多余一个线程的情况。
  • 相关阅读:
    读TIJ -2 一切都是对象
    codeforces 437C The Child and Toy
    关于js基础easy忘记的那些事儿
    项目启动会应该注意的几点
    SSH-Struts(一)——基本原理
    公益代理-开发人员的福音
    【手打】LZW编码的C/C++实现
    tab group of firefox
    Sort Colors -- LeetCode
    Qt 学习之路:自定义事件
  • 原文地址:https://www.cnblogs.com/ahfuzhang/p/11225792.html
Copyright © 2011-2022 走看看