( locsemege | 2011. 12. 24., szo – 01:33 )

Jaj, megfájdítottad a szívem! Van neked lelked? Hát hogy írhatsz ilyet? :))

Egyrészt az MCU-kban jellemzően nincs lebegőpontos hardware támogatás. Legtöbbször még fixpontos szorzás, osztás sincs. Van összeadás, shiftelés, rotálás, bitenkénti and, or, xor, adatmozgatás. Úgy nagyjából. A memória kevés, szóval mire megírnád a lebegőpontos aritmetikát, nem marad hely a feladatra.

Lehet, hogy a futásidőd is kevés. Például E1 trunk-ön jönnek a hangminták egy 2.048 Mb/s-os stream-en, s valamit nagyon kellene velük csinálni, mert a sok ember csak telefonál, csacsog vég nélkül, s generálja a hangmintákat. :)

Aztán van olyan helyzet, hogy a villanyod kevés. 10 mA? Melléd települt Paks? Amit legutóbb csináltam, az 130 µA-t vett fel, de ebből úgy 100 µA-t a tápegység. Szégyelltem is magam, hogy ennyit eszik, de normális, kis fogyasztású tápegységből csak bontatlan 5000 db-os csomagot akartak eladni.

Feladatfüggő erősen, hogy mire optimalizálunk. Amit te írtál, az az emberi erőforrásra minimalizálás esete. Hamar, olcsón megvan a fejlesztés, viszont sallang a kód, nagy, lassú, felesleges, sokat fogyaszt.

Aztán lehet optimalizálni kód memóriára, adat memóriára, futásidőre, fogyasztásra. Sokszor ezek közül többre. Nem mindig mondanak ezek egymásnak ellent, bár néha igen. A fizikai sebesség a fogyasztásnak eléggé ellent mond. Tehát ilyenkor kell futásidőre optimális kódot faragni, hogy ne kelljen az eszközt gyorsan hajtani. Vagy eleve nem tudod gyorsan, mert az már egy drága eszköz lenne, s szeretnél egy pici, egyszerűbe beleférni.

tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE