Optimalizace kodu

Ladislav Vaiz spam@nagano.cz
Středa Leden 3 15:46:42 CET 2007


Ano, melo by pomoci:
1) pouzivat ukazatele misto indexovani poli
2) ridici promennou dekrementovat a porovnavat s nulou
U druheho bodu si v pripade PICu nejsem jisty, jeho instrukce neznam, ale 
u Intelu to funguje.

Zkusil bych neco jako

pe=data_externi;
pi=data_interni;
for (i=64;i;i--){
     *pe=*pi;
     pe++;
     pi++;
}

Lada

On Wed, 3 Jan 2007, Michal HW wrote:

> Pracuji na vetsim SW v C - HT-Soft + 18F8722.
>
> Pokud presunuji structury z vnitrni RAM do externi, kompilator z toho udela
> par radku kodu:
>
> Structura_Externi=Structura_Vnitrni;
>
>
> Ale pokud totez udelam s polem rucne:
>
> for (Pocet_B=63;Pocet_B!=255;--Pocet_B) {
>    Data_Externi[Pocet_B]=Data_Vnitrni[Pocet_B];
> }
> vznikne monstrozni kod. Pokazde se pocita HW ukazatel(TBLPTR) pro externi a
> vnitrni pamet.
>
> Lze to optimalizovat v C kodu bez nutnosti zmeny datovych structur?
> Nebo mam zmenit pole na structury?
> Jak to optimalizuji jine kompilatory?
> Michal Gregor
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>



Další informace o konferenci Hw-list