做了个小测试
本帖最后由 mxx_xm 于 2012-12-29 23:42 编辑闲来无事想测测duemilanove的速度;
就想算下PI,确实很痛苦,最后只能减少位数,反正也是比较量;
算法并不简洁,只是为了产生运算;
long tt=0;
void setup() {
Serial.begin(9600);
}
void loop() {
tt=millis();
long i = 1;
int flag = 1;
double tmp;
double sum = 0.0;
do
{
tmp = 1.0/i;
sum = sum + flag * tmp;
i = i + 2;
flag = -flag;
}
while(tmp>0.0000001);
Serial.println(sum*4,8);
Serial.println(millis()-tt,DEC);
}
Duemilanove结果算到3.14159703也就是5位半是298592ms
Xmega结果算到3.14159703也就是5位半是197740ms
Mega==》》302052
:funk:好方法 额。。。xmega速度看来没有快一倍 弘毅 发表于 2012-12-29 23:41 static/image/common/back.gif
额。。。xmega速度看来没有快一倍
我没有外置晶振,使用的默认内置32m,不过客观的讲,实物肯定不是和广告那样啦~~
可以试试due的速度 swim 发表于 2012-12-30 00:05 static/image/common/back.gif
可以试试due的速度
那就要靠其他大神来了;我手头还没有DUE mxx_xm 发表于 2012-12-30 00:29 static/image/common/back.gif
那就要靠其他大神来了;我手头还没有DUE
元旦回来我去试,刚好自己研发了due做好了2套成品在测试 due计算到3.14159465也就是5位半是8259ms
计算到3.14159285也就是6位半是82450ms
swim 发表于 2013-1-5 14:11 static/image/common/back.gif
due计算到3.14159465也就是5位半是8259ms
计算到3.14159285也就是6位半是82450ms
看来快的不是一点半点,而且不光是主频问题,浮点元算能力不是一个量级的 mxx_xm 发表于 2013-1-7 10:49 static/image/common/back.gif
看来快的不是一点半点,而且不光是主频问题,浮点元算能力不是一个量级的
是的avr单片机的浮点运算很弱,可以试试把小数变成整数在计算,估计会快很多 Leaf Maple
计算到3.14159465是9209ms
计算到3.14159285是92097ms 同样代码在STM32F4
计算到3.14159285是 37102ms
不知道利用DSP函数等会如何:)
页:
[1]