[FreeBSD] erdemes -e mindent a ports -bol?

Hajdú Zoltán hajduzoltan at bsd.hu
2001. Jan. 9., K, 01:12:59 CET


>> Ja, ha király p6/k7 kód kell, kénytelen vagy __asm -mel nekiesni.

>> Anno a linux-flame-en flame-eltem egy joizut, hogy a GTK-ban es az X-ben
>> legalabb sokat hasznalt a pixel es a fillezo rutinokat atirhatnak asm-ra,
>> mert nem olyan egetrengetoen nehez, plane ha az ember kozepiskolas, es raer.
>> A vitanak persze sok foganatja nem volt...

>> P.S.: Te szeretsz __asm-ban programozni?... brrrr. Ez valami olyasmi, mintha
>> a gepet megkernem, hogy ugyan forditsa mar le maganak amit csinalnia kell
>> miutan sima emberi nyelven lediktaltam neki, mert nekem igy konnyebb...

Na, az igazság az, hogy igen. Régebben is abban (ASM) programoztam, s a C meg a 
Java csak késõbb, a platformfüggetlen divattal jött nálam. Aztán amikor a múltkor 
csatarendbe állt otthon a K7 a 486 helyett, szinte leestem a székrõl, mikor is NEM 
volt olyan nagy a sebességgyorsulás, amit vártam, holott van vagy 700 Mhz és vagy 
3 generáció különbség a két proci között (nem kis változásokkal). S ezen még az 
sem segített, ha néhány programot optimalizálva fordítottam is le. Pedig tudom azt, 
hogy ASM-ben programozva csodákat lehet mûvelni: talán emlékeznek néhányan a 
pixelrajzolórutinoknál alkalmazott bitshifting technikára a sima szorzós ellenében, ami 
5-7-szer gyorsabban számolta ki a pont helyét a képernyõn, vagy hogy pentium 
procikon a két ALU miatt a helyesen megválasztott kódsorrend 2x -es sebességet 
eredményez, mivel mindkét ALU-t meg tudja hajtani. Bár az újabb procikat nem 
ismerem, de olyanokat írogatnak szakmai helyeken, hogy pl. az AMD 3dnow! a 
lebegõpontos számokkal sokkal gyorsabban dolgozik mint a szintén a prociban lévõ 
x87 - s mivel SIMD, egyszerre többel is. Valahogy hiányolom ezeket a dolgokat a mai 
programozásból. S az igazság az, hogy ASM-el is lehet nagyobb projekteket 
készíteni, struktúrálisan programozva, a már megírt és jól dokumentált rutinokat 
újrafelhasználva. S a core X rutinokat is meg lehetne írni ASM-ben, ha eléggé 
moduláris lenne az X felépítése ahhoz, hogy fordításkor vagy runtime az adott 
procira optimalizált kódrészletet használná fel. De nem az. Sajna. Nem véletlen, hogy 
a Java - remélem ezért néhányan nem tûznek ki a fejemre vérdíjat - haldoklik: 
egyszerûen a fejlesztõknek elege van - a Sun szenvedései mellett - abból, hogy nem 
lehet teljesítményigényes, stabil programokat írni benne (egy jó cikk errõl egy pár 
számmal ezelõtti Új Alaplapban, Java vallomások címmel). A C-vel meg az a gond, 
hogy nincs hozzá - legalábbis BSD-re - jó fordító, mert IMHO a gcc nem az igazi. 
Portolhatóság? Az okosan megírt programok IMHO portolhatóak az adott 
architechtúrán belül - a felhasználói interface úgyis az OS objektumainak 
meghívogatásából épül fel, az meg megy ASM-bõl is. (Egyébként vannak jó library-k 
erre, pl. a GLUT, ami OS-tól függetlenül egységesen kezeli az ablakokat meg a 
grafikus komponenseket).

Üdv:

Hajdú Zoltán
Miskolci Egytem, stb., stb.




További információk a(z) BSD levelezőlistáról