kodtabla

VFX info at vfx.hu
Mon Mar 21 18:09:38 CET 2005


Hali!

Rancz Lajos wrote:
> 
> Halihó!
> 
> Na egy kicsit mindeki félreértette :-)
> 
> Szóval teszem azt, nagyon sok hasonló vizsgálat van egy forrásban (if (vmi rendkívül bonyolult) {} else {}) na, itt a fordító észreveszi, hogy közös - hasonló a feltétel és kiteszi egy szubrutinba. Ezt assemblyben k*rvanehéz megcsinálni, mert nem vezsed éeszre triviálisan a logikai hasonlóságokat. Ezek sokat lehet nyerni.

Ezzel nem ertek egyet! Ha nem veszi eszre, akkor lopta a progit :) Ha en
irom es hasonlo, latnom kell, hogy azonos!
En ASM-t hasznalok, ezert nekem az IF - then - else vilag nagyon idegen.
Es nincs is tobb ezer soros betetem seholsem, mert mas az egesz progi
megkozelitese. Egy-egy rutin max. par szaz soros.
Ha a kesz progi 1 millio soros, az sem jelent semmit. Nem az egesz 1
millio sor fogod szerkeszteni egy 50Mb-os file-ban (mert ha igen, akkor
valoban gaz van). Az eges progi szetesik apro reszfeladatokra, ami
rendkivuli mod korulhatarolhato. Ezek igen is attekinthetoek es
kezelhetoek.
AVR-re es Blackfinre (nem egy kategoria a ketto) is van cc. 500kb
forrasu progim asm-ben. Kezelheto, optimalizalhato, atlathato, es ami a
lenyeg a vegtermek alig 15-25kb nagysagu kod! 
Tavaly szeptemberben kezdtem Blackfinen progizni, akiket akkor
kerdeztem, mit hogyan kell, mar abban a honapban kinottek a 32kb-os SPI
EEPROMot :), en meg most is "csak" 18.6kb-nal tartok :)
(bar mar en is egy kicsit aggodom, mert a jpeg dekodolas meg nincs benne
:)

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 kolosszalis gyorsulast
tudtam elerni (100Mbites halozaton 11.7Mbyte/s, eredeti linux driver
3-5Mbyte/s).

UDV. VFX.
http://www.vfx.hu




More information about the Elektro mailing list