kodtabla
Rancz Lajos
csigaelektro at freemail.hu
Mon Mar 21 18:27:48 CET 2005
Halihó!
Kicsit kezd elmenni a vita ASM vs C irányban ;-) Már megint... na, értem amit mondasz, de nekem nincs arra (március - szeptember =) 6-7hónapom, hogy tököljek. Nézzük pl. a következõ példát:
while (!Felt1 && Felt2 && Felt3 && !Felt2);
if (Felt1)
{
}
else
{
}
while (Felt1 && Felt2 && ... && Felt5);
if ()
{
}
Na ez van kb 15-ször (most épp ilyet csinálok), itt ha egy kicsit változik valamelyik feltétel, vagy while akkor a fordító simán Bool algebrával kisakkozza, hogy mit kell csinálni, hogy kell összevonni, mit mivel (kódcsökkenés 5200 bytról 2300ra). Én is ki tudom számolni ha akarom, de mivel én végig tudom csinálni kb. 20-25 perc alatt, a fordító pedig 20 másodperc alatt, a villany pedig kb. 30 Ft/kWh az én mérnöki munkabérem pedig 8-10 ezer/óra, ezért nem fogom én csinálni. Nem Kínában vagyok, hogy számítson, hogy a termékemben egy 750 Ftos vagy egy 1000 Ftos alkatrész van. Mindegy. Soha nem fogja behozni az árát, ha leállok tökölni, viszont kell tegnapra.
> A masik aggalyom az optimalizalassal kapcsolatban, a C nyelv
> sajatsaga! A lokalis valtozok mennek a stackbe?, pedig RISC
> procikban van regiszter dogivel, amiben elfernenek a lokalis
> valtozok. Evvel a megoldassal pl. egy LAN kartya driver sebessegen
Kivéve pl. ha 4 bájtos számokkal és floatokkal számolsz. Ha pedig olyan rövid fv., hogy túl sokat foglal a stack kezelése, akkor megcsinálja inline. A másik, hogy regisztereken keresztül átadott fv.-ek nem újrahívhatók, ami sok esetben hátrány.
Üdv,
Lajos
> kolosszalis gyorsulast tudtam elerni (100Mbites halozaton
> 11.7Mbyte/s, eredeti linux driver 3-5Mbyte/s).
>
> UDV. VFX.
> http://www.vfx.hu
>
> -----------------------------------
> Szponzorunk: http://tonerbolt.hu/
More information about the Elektro
mailing list