为啥这么慢呢?

2019-07-22 14:40发布


sprintf(rgbhChar,"%4.4f",1234.5678);

测试了一下,这句耗时18740个机器周期。
印象里,以前测试过Keil的C51,好像比较复杂的转换也就2K~4K个机器周期(很久了,记忆准确吗?)

现CPU是msp430F449,编译器是IAR,工程选项卡里已经选了硬件乘法器。
为啥这么慢呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
zhaoxqi
2019-07-23 02:40
重新做了对比测试,测试方法如下:
被测试语句:sprintf(rgba,"%8.4f",vlf);
变量取值:vlf=1234.5678  //在watch窗口手工输入

测试结果(编译器版本:Keil/C51v900、IAR/EW4305.2):
C51耗时3123指令周期,若晶振为12M(指令周期1MHz),耗时3.123毫秒,执行结果1234.5680
EW430耗时19072指令周期,MCLK为1MHz时耗时19ms,执行结果为1234.5677

一周热门 更多>