メモリ効率向上を目指して、ちまちまと同じロジックを異なる文法で記述し、メモリ使用量を比較中。
その結果、PICのX
無償版は、メモリ効率
夕べ、バージョンアップしたロジックの改善策が明け方はたと思いついて、早
それが
unsigned char* utoa_padding(unsigned short int num){
static unsigned char buf[5]={‘ ‘,’ ‘,’ ‘,’ ‘,0};
unsigned char a;
signed char i=3;
while(i){
a=num&0x000F;
if(a>9) buf[i]=a+CHAR_A;
else if(i==3) buf[i]=a+CHAR_0;
else if(a>0) buf[i]=a+CHAR_0;
num=num>>4;
i–;
}
return buf;
さらに、その過程でこんなことも発見。while文で
while(hoge–){
・・・・
}
よりも、
while(hoge){
・・・・
hoge–;
}
の方がメモリ使用は少ない。コード的には、上の方がスマートなん
こういうチューニングを試し始めて、メモリ消費量が 97.9% から 87.4% まで削減に成功。10%の削減は大き
もう少し、チューニングを続けてみよう。