Ez nem semmi
VF
vf at elte.hu
Sun Feb 15 09:57:58 CET 2004
Thus spake Andras Tantos <andras_tantos at yahoo.com>:
> Sarkitod a dolgokat, es vegletesen fogalmazol. Nagyon nehez olyan programot
> irni, amelyik minden fordito alatt ugyanazt csinalja. De igen, ez lenne a
> szabvanyositas lenyege.
Termeszetesen, ha az ember flamel, szuksegszeru hogy sarkitsa a
dolgokat, hogy hulyenek tudja beallitani, le tudja jaratni az
ellenfelet. (vagy ellenseget?) Igy jott a kepbe a linux kernel, meg
a szoftver-minosegbiztositas, stb... is.
A te irasod volt az egyetlen objektiv iras.
Kb mindenben egyet is ertek veled.
> Azt nem hiszem, hogy sokkal jobban optimalizal. Inkabb ugy igaz, hogy a
Sot, biztos hogy nem. Millio hibat kovetnek el a forditok, melyek
tobbe-kevesbe csokkentik a hatekonysagot. Meg is mutattam konkretan...
> bizonyosaknal a gep, eleg nagy programnal a hatasok valoszinuleg a gep fele
> billentik a merleg nyelvet (mondjuk 2-3 millio gepi utasitas felett). A leg
> hatekonyabb megoldast akkor ered el, ha azokat a helyeket, ahol az ember
> nyer kezzel optimalizalod ASM-ban, ahol meg a gep, ott hogy, hogy csinalja.
Igy van. Sot vannak a gyartonak abszolut optimalis rutinjai bizonyos
egyszerubb feladatokra. Ezeket nem lehet jobban megcsinalni sem kezzel,
sem forditoval, mashogy csinalva biztos hogy lassabb lesz.
Mert direkt ugy van tervezve a proci, hogy az optimalis rutin meg pont
beferjen a cache-be stb... Pl az MC68010-ben 6 byte cache van.
Ez azt jelenti, hogy egyetlen konkret tipusu memoria-masolas vagy
hasonlo ciklus cache-bol tud porogni. Ha a fordito kicsit is mashogy
csinalja, az a kulso memoria sebessegetol fuggoen akar nagysagrendekkel
is lassabb lehet. A gyarto ajanlott rutinjat _kell_ hasznalni.
Vagy emlithetnek a szorzast is, amit a GCC a sajat feje utan megcsinalt,
lassabban. A forditok nem szoktak ragaszkodni az ilyesmihez...
A fociklusban egy ilyen hiba nem apro hatekonysag-csokkenest fog okozni...
Es ez nalunk szamit. Nem Intel, meg Maxtor, meg Nokia vagyunk, hogy
ha a piaci korulmenyek olyanok, lebutitva adjuk el a procit, fele
kapacitassal a vinyot, vagy a legelso bugos programmal amely valahogy
atment a forditon, a telot. A maximumot kell kihoznunk az adott
eloallitasi koltsegu termekbol.
> De a hatekonysag csak egy jellemzoje egy programnak, vagy meg inkabb a
> programfejlesztesnek ez csupan az egyik celja. Fontos lehet meg, hogy a kod
> tovabbfejlesztheto legyen, hogy tobb processzoron fusson, hogy
> karbantarthato legyen, hogy hataridore elkeszuljon, hogy kevesebb hibat
> tartalmazzon, hogy jol dokumentalt legyen, hogy tesztelheto legyen, stb stb.
> Nagy cegeknel, illetve nagy projekteknel altalaban ezek nyernek, es ha a
> hatekonysag fel is merul, altalaban nem a programnyelv, hanem az algoritmus
> kivalasztasanal jattszik szerepet.
Nos, mi kis ceg vagyunk, ketten fejlesztjuk a kutyu programjat, a
tobbiek mind a PC oldali programon dolgoznak, vagy az ertekesitessel
foglalkoznak. Ugyhogy masok a szempontok. Nagy cegnel termeszetesen
igazad van.
(Siman le lettem hulyezve, mert nem azok szerint a szempontok szerint
dolgozom, pedig teljesen mas a szituacio, ugy tunik hogy ezt bar
tobbszor emlitettem, rajtad kivul senki sem ertette meg, csak nyomtak
a baromsagot a linux kernelrol stb...)
> Ez a thread az NT forras kikerult reszerol szolt, nem kis mikrovezerlos
> programokrol.
Bazzeg... Hanyszor elmondtam. Es csak te vetted eszre... Koszi!
> Tantos Andras
--
Valenta Ferenc <vf at elte.hu> Visit me at http://ludens.elte.h u/~vf/
"Nyugi, minden a legnagyobb rendben csuszik ki a kezeim kozul"
More information about the Elektro
mailing list