Skip to content
This repository has been archived by the owner on Nov 25, 2023. It is now read-only.

[DOC] benchmark准则ver0.1制定,后续贴入README #9

Open
ysh329 opened this issue Jun 26, 2020 · 1 comment
Open

[DOC] benchmark准则ver0.1制定,后续贴入README #9

ysh329 opened this issue Jun 26, 2020 · 1 comment
Labels
Benchmark Standard Spec Benchmark Standard Spec documentation Improvements or additions to documentation

Comments

@ysh329
Copy link
Contributor

ysh329 commented Jun 26, 2020

后续贴入README

ADB Shell环境 benchmark公约

  1. 用同一台手机(必须同一台),在同一时间段,测试不同框架性能。因为即使相同SoC型号的同一品牌手机,性能也有不同;同一手机,在不同时间段测出的性能也可能不同;
  2. 非root手机测试。用root的手机测试,不保证是否有锁频或者设置性能模式,虽然数据好看稳定但不符合实际,root后对调优kernel的参考价值大于实际应用的价值;
  3. 亮屏测试环境【人为干预设置】。是否亮屏,对部分手机如低端骁龙型号SoC的CPU、GPU性能影响较为明显。屏幕需要保持常亮,从经验来看,亮屏、熄屏、反复点亮熄屏的瞬间,对电压带来极大变化,会造成极大性能波动,测出极快的性能不符合用户实际使用;
  4. 不同组之间设置时间间隔。每组测试案例,需要间隙,避免长时的测试带来温度上升降频影响结果准确率,一般设置3到5秒,让CPU的状态恢复;
  5. CPU大小核绑定,以绑定大核为主,得到稳定性能。对CPU、GPU性能都有很大影响,绑定策略通常有绑定大核、小核、不绑定。不绑定更符合APP开发者。但测试过程一般以绑定大核为主。此外也有绑定失败、抢占等情况带来性能波动;
  6. 电量100%测试。苹果在发热,低电量会降频,安卓机不同厂家在不同场景下可能规则不同,也可人为设定,但统一100%电量下测试性能;
  7. 测试前reboot。避免开机后,系统长时间运行带来其它进程的内存、CPU资源干扰;
  8. 统一模型源头。不同框架横向比较同一模型时,采用同一源头模型如caffe_mobilenetv1、tf_mobilenetv2、onnx_vgg16等。排除、统一模型转换带来的冗余或不规范OP。各个端侧框架可以有自己的模型转换优化模式,但源头必须统一;
  9. 需提供性能耗时标准差。一般有性能在最快、最慢、平均耗时的统计,此外还需提供稳定性度量指标,即总体耗时的标准差或方差。
@ysh329 ysh329 added the documentation Improvements or additions to documentation label Jun 26, 2020
@ysh329 ysh329 pinned this issue Jun 26, 2020
@ysh329 ysh329 changed the title benchmark准则制定 benchmark准则制定,后续贴入README Jun 26, 2020
@ysh329 ysh329 changed the title benchmark准则制定,后续贴入README benchmark准则ver0.1制定,后续贴入README Jun 26, 2020
@ysh329 ysh329 changed the title benchmark准则ver0.1制定,后续贴入README [DOC] benchmark准则ver0.1制定,后续贴入README Jun 27, 2020
@ysh329
Copy link
Contributor Author

ysh329 commented Jun 28, 2020

华为手机 GPU 性能

jxt:不用ROOT,华为手机系统设置一下电池模式就好
我:华为手机gpu确实100次不准,但是1000次就准了
jxt:也行就是比较耗时间

nihui: android10 huawei跑不了vulkan,需要app里跑

@ysh329 ysh329 added the Benchmark Standard Spec Benchmark Standard Spec label Jun 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Benchmark Standard Spec Benchmark Standard Spec documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant