Cross: Efikasnost kompajlera

Jul 16, 2013 1 Replies



> >>
> >> Budalo kretenska, dokazi da netko namjerno napise kompajler da bi dodao
> >> bitove koji nicemu ne sluze! Ako ne mozes dokazati onda odjebi, dosta si
> >> optuzivao okolo bez iti jednog dokaza smece odvratno.
> >
> > Btw: Kompajleri su predviðeni za prevoðenje opåenitih, bilo kakvih programskih linija.
> > E sada, NI JEDAN kompajler to ne mo¸e napraviti da bude manja datoteka i br¸e izvoðenje
> > ODREÐENOG programa nego ¨to bi to mogao napisati ¹ovjek u ma¨inskom kodu!
> >
> > A radi se preko kompajlera i vi¨ih programskih jezika jer je to br¸e i lak¨e pisanje programa
> > u odnosu na ma¨inac......
>
> Sada tupis o tome da kompajleri nisu optimizirani, sto nije isto da dodaju
> bitove koji nicemu ne sluze!

? A ¹to bi u praksi znaèilo da nisu optimizirani? Tako dobiveni programi nisu minimalni po velièini datoteke i jo¹ ni dovoljno brzi pri radu, u odnosu na specifièno pisan u ma¹incu? Ako nisu minimalni, onda imaju bajtova koji ustvari nièemu ne slu¾e, ili jo¹ gore, bespotrebno USPORAVAJU program?


@woobie: Sorry, ovu temu sam Crossao, poku¹avam pozvati i konjicu u pomoæ ( ljude koji se bave svakom vrstom programiranja!)-:)

Cijelo pitanje je krivo postavljeno. Kompajler ne odluèuje hoæe li neki sors kod prevesti u oblik A koji je manji i br¾e se izvr¹ava, ili oblik B koji je dulji i sporije se izvr¹ava. U praksi naravno da ovisno o postavkama odabire ovakve ili onakve optimizacije, ali poanta je da odluèuje staviti ma¹inski kod oblika C koji æe br¾e raditi na manjem broju skupljih procesora sa vi¹e cachea, ili oblik D koji æe br¾e raditi na veæem broju jeftinijih slabijih procesora. Ili oblik E koji æe raditi samo na najnajnovijoj generaciji jer zahtijeva specijalne nove instrukcije. Ili oblik F koji se automatski raspodjeljuje na vi¹e jezgri, ali ako se sluèajno zatekne na jednojezgrenom procesoru onda radi najsporije.

Daklem, kompajler ne mo¾e predvidjeti na kakvim æe se sve procesorima izvoditi, niti ma koji strojni kod odabrao æe to biti idealno u svim situacijama.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required