gpt4 book ai didi

Android:对两种算法进行基准测试

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:02:14 24 4
gpt4 key购买 nike

我已经为同一个问题实现了两种算法,想找出最专业的算法。

基本想法是:

final static int LOOP_COUNT = 500;
long totaTime = 0;

worm-up();
for(int i =0, i<LOOP_COUNT, i++)
{
long startTime = System.currentTimeMillis();
myMethod();
long endTime= System.currentTimeMillis();
totalTime += endTime - startTime;
}

return totalTime / LOOP_COUNT;

并对两个算法都这样做。

但是:

  • 我怎样才能实现,android 系统不在后台进行任何系统计算并扭曲数据

  • 有没有一种方法我也可以比较使用的内存,这两种方法都需要吗?

最佳答案

如果您想要专业的统计和相关结果,并且希望将 Android 后台进程的影响降到最低,则需要多次运行您的算法并比较平均值。这样,根据大数定律,您的结果将是正确的。

多少次取决于执行时间的标准差和你想要的确定性。如果您熟悉一些基本的统计知识,则可以使用一些基本公式确定样本量,例如,如果您的样本分布呈正态分布,则可以运行 t 检验来比较两种算法的平均值。这自动包含了您希望最小化后台进程的影响这一事实。它们会随机出现,经过多次迭代后,Android 的影响将被抵消。

还要看一下垃圾收集器,如果在算法执行期间创建了大量对象,它会影响结果,但它应该会影响算法的实际使用。

关于Android:对两种算法进行基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13145027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com