极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13226|回复: 11

做了个小测试

[复制链接]
发表于 2012-12-29 23:14:40 | 显示全部楼层 |阅读模式
本帖最后由 mxx_xm 于 2012-12-29 23:42 编辑

闲来无事想测测duemilanove的速度;
就想算下PI,确实很痛苦,最后只能减少位数,反正也是比较量;
算法并不简洁,只是为了产生运算;
  1. long tt=0;
  2. void setup() {               
  3.   Serial.begin(9600);
  4. }

  5. void loop() {
  6.   tt=millis();
  7.   long i = 1;                       
  8.   int flag = 1;               
  9.   double tmp;                       
  10.   double sum = 0.0;       
  11.   do
  12.   {
  13.     tmp = 1.0/i;        
  14.     sum = sum + flag * tmp;         

  15.     i = i + 2;               
  16.     flag = -flag;       
  17.   }
  18.   while(tmp>0.0000001);         

  19.   Serial.println(sum*4,8);
  20.   Serial.println(millis()-tt,DEC);
  21. }
复制代码




Duemilanove结果算到3.14159703也就是5位半是298592ms
Xmega结果算到3.14159703也就是5位半是197740ms
Mega==》》302052
回复

使用道具 举报

发表于 2012-12-29 23:17:38 | 显示全部楼层
好方法
回复 支持 反对

使用道具 举报

发表于 2012-12-29 23:41:55 | 显示全部楼层
额。。。xmega速度看来没有快一倍
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-29 23:44:11 | 显示全部楼层
弘毅 发表于 2012-12-29 23:41
额。。。xmega速度看来没有快一倍


我没有外置晶振,使用的默认内置32m,不过客观的讲,实物肯定不是和广告那样啦~~
回复 支持 反对

使用道具 举报

发表于 2012-12-30 00:05:07 | 显示全部楼层
可以试试due的速度
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-30 00:29:31 | 显示全部楼层
swim 发表于 2012-12-30 00:05
可以试试due的速度

那就要靠其他大神来了;我手头还没有DUE
回复 支持 反对

使用道具 举报

发表于 2012-12-30 21:02:43 | 显示全部楼层
mxx_xm 发表于 2012-12-30 00:29
那就要靠其他大神来了;我手头还没有DUE

元旦回来我去试,刚好自己研发了due  做好了2套成品在测试
回复 支持 反对

使用道具 举报

发表于 2013-1-5 14:11:02 | 显示全部楼层
due计算到3.14159465也就是5位半是8259ms
计算到3.14159285也就是6位半是82450ms



回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-7 10:49:09 | 显示全部楼层
swim 发表于 2013-1-5 14:11
due计算到3.14159465也就是5位半是8259ms
计算到3.14159285也就是6位半是82450ms

看来快的不是一点半点,而且不光是主频问题,浮点元算能力不是一个量级的
回复 支持 反对

使用道具 举报

发表于 2013-1-7 19:43:09 | 显示全部楼层
mxx_xm 发表于 2013-1-7 10:49
看来快的不是一点半点,而且不光是主频问题,浮点元算能力不是一个量级的

是的  avr单片机的浮点运算很弱,可以试试把小数变成整数在计算,估计会快很多
回复 支持 反对

使用道具 举报

发表于 2013-1-7 20:30:16 | 显示全部楼层
Leaf Maple
计算到3.14159465是9209ms
计算到3.14159285是92097ms
回复 支持 反对

使用道具 举报

发表于 2013-4-8 11:27:25 | 显示全部楼层
同样代码在STM32F4
计算到3.14159285是 37102ms
不知道利用DSP函数等会如何
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-8 20:59 , Processed in 0.041610 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表