Mennyivel tömörebb egy assemly-kód? Mennyivel gyorsabb?
Kisebb méretű kód, mert a programozó maga dönti el mely utasítások szükségesek az adott probléma megoldásához.
Az esetek többségében gyorsabb futás jellemzi.
Wikipédia










Annyival tömörebb és annyival gyorsabb, amennyire a programozó meg tudta oldani. Ez a helyes válasz.
Egyáltalán nem biztos, hogy egy assembly kód tömörebb és gyorsabb lesz, mint mondjuk egy C-ből fordított kód.





"Mennyivel tömörebb egy assemly-kód? Mennyivel gyorsabb?"
Kérdés, mihez képest. Ahogy az utolsó írja, pl. c-ben lehet nagyon kompakt módon programozni.
Egy imserősöm dolgozott projekten, ahol modemet meg hasonló beágyazott rendszereket programoztak, azt mondta, nem tudtak gyorsabbak lenni assemblyben a c-ből fordított kódnál.
Sokan hasonlították itt a commodore-ral. Ott a basic egy interpreter nyelv volt. Nagyon lassú. Egy grafikus képernyő törlése basicben 1-2 perc bájtonként sorról sorra balról jobbra.
Ez assemblyben szinte egy villanás volt, kicsit lehetett látni, hogy fentről lefelé tűnik el a kép.
Teljsesen más a sebessége egy fordított kódnak, mint az interpreternek.
A kettő közt meg vannak a nyelvek, amik virtuális környezeten futnak, mint a JRE vagy a .NET, ezek valszeg gyorsabbak mint az interpreter, de lassabbak, mint egy natív kód.





Ha olyan írja a programot assemblyben, aki tudja is, hogy mit csinál, akkor mindenképpen gyorsabb, akár a C-nél is, a BASIC-nél meg pláne.
Bár az igaz, hogy C-ben, Pascalban, Rustban elég jól meg lehet közelíteni az assembly hatékonyságát.
Persze, az assemblynél jobb, gyorsabb nincs. Ennek viszont az az ára, hogy a fejlesztés időigénye (ezzel meg a költsége) nagyon megnő.
Azok az idők már régen elmúltak, amikor még komplett, összetett programrendszereket A-tól Z-ig asm-ben kódoltak le.
Később is már csak a sebességkritikus részeket írták asm-ben, a többi részt pedig magas szintű nyelveken fejlesztették. Ebben a korban volt divatban az inline assembly.
Ma meg már annyira jó a fordítók hatásfoka, annyira fejlettek az optimalizációs rendszerek, plusz annyira magas a PC-k műveleti sebessége, hogy egyszerűen nem éri meg asm-et igénybe venni.
Az asm, mint programozási nyelv, mint eszköz, szinte teljesen visszaszorult a kontrollerekre és a régi korok hardvereire.





Kis érdekesség: C64-hez léteztek BASIC-fordítók is, ami a(z interpretáltan lassú) BASIC-kódot lefordították (gyors) gépi kódba:
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!