不同板子的处理速度也不一样
本帖最后由 shihaipeng04 于 2014-3-11 11:34 编辑昨天发现了一个小有趣的现象,同样的程序在不同的板子运行起来速度差异也不小。 我手头有uno r3 是328P-pu的芯片,还有mirco是MEGA32U4的芯片,和一个mirco pro 是MEGA328P的芯片,他们的速度到是一毛一样。可是 uno的却比他们快了不少。
同样的程序,uno用了 13348ms, 而mirco们则跑了17604ms,更有意思的是 mirco还可以选用Lily或者 3.7v的板卡来编译,结果跑出的成绩是28379ms,慢了一倍还多点。
后来又用pcduino跑了一下,结果折腾到天亮也没运行起来。真心的不会玩那东西哦。。。
下午来遍个程序,我们赛跑一下吧。看看各种板卡的性能如何。
void setup()
{
Serial.begin(9600);
pinMode(9,OUTPUT);
pinMode(6,OUTPUT);
pinMode(5,INPUT);
}
void loop()
{
unsigned long b,e,t;
int c,d,i,j,x;
Serial.println("Go~~~~~~~~");
b = millis();
for (c=0;c<30000;c++)//循环很多次,干一些固定的事情
{
digitalWrite(9,1);
analogWrite(6,i);
x = analogRead(5);//如果不加上这些read write 只有加减的情况,速度非常惊人,看来read 什么的还是挺慢的
i++;
j--;
x=i * j;
x=i / j;
digitalWrite(9,0);
}
e = millis();
t = e - b; //记录开始,结束时间,计算时长
Serial.println(b);
Serial.println(e);
Serial.print("t=");
Serial.println(t);
delay(1000); //循环运行,观察每次结果会有微小的变化
}
测试结果 mirco 4096 ,uno 3840 依然是uno胜出。 LZ用的是什么程序? oh shit...刚用maple 跑了一下这个程序。 255ms。 完胜各种arduino啊 15倍哦! 用STduino给我的stm32写的这个程序是585ms,
我的mega2560是4096ms,
ARM性能就是好。不过楼主这个程序的执行速度很大程度上取决于pwm发生器和A/D转换的速度,最好能用计算圆周率之类的纯CPU计算来测试性能。
495981654 发表于 2014-4-13 17:52 static/image/common/back.gif
用STduino给我的stm32写的这个程序是585ms,
我的mega2560是4096ms,
ARM性能就是好。不过楼主这个程序的 ...
这一点,我是真心的不懂了。看似要搞一个综合的性能测试程序还是很复杂的事情了。
页:
[1]