Citat:
Dobro, Filipe, nemoj da se nerviraš, ali probao sam gcc na tri platforme (Windows, Linux i FreeBSD) i na svima je baš spor
Dakle gcc za Windows, Linux i FreeBSD su mnogo sporiji od tog „M$ Vi$ual Shit++“-a (štagod to bilo, inače vrlo čudno ime za kompajler ;) za Windows, Linux odn. FreeBSD? Kako stoji poređenje za Sharp Zaurus platformu na primer? ;)
Nema smisla žaliti se na „sporost“ gcc-a jer je to program koja
radi na toliko mnogo platformi, u isto vreme podržava i
više jezika istovremeno, kao i mašinski zavisnu optimizaciju koja se opisuje skript jezikom. To teško da ima ijedan komercijalno raspoloživ kompajler. Snaga ovog pristupa se ogleda između ostalog i u tome što GCC ume da optimizuje čak i asemblerski
inline kod kog programer sam napiše. To moram priznati nisam video ni kod jednog drugog kompajlera, besplatnog ili ne. Sve ove mogućnosti su morale biti plaćene nečim, i delom su plaćene brzinom kompajliranja. Ali žaliti se na sporost gcc-a je zbog toga kao tražiti preko hleba pogaču.
Citat:
Inače, budućnost je izgleda u JIT-u (.NET, Java) - instaliraš bytecod koji se prilikom prvog izvršavanja prevede u "native" kod uzimajući u obzir hardver na ciljnoj mašini.
Jedan od razloga zbog kog ta budućnost (još) nije došla je upravo u tome što čim želiš da se „spustiš“ do native koda odmah nasleđuješ isto krdo problema (sa kompatibilnošću i sl.) koje obični kompajleri imaju već decenijama. To ti omogućava da programski jezik i prateću mašineriju oslobodiš problema sa raznolikim hardverom. Samo kažeš „ako želite da se moj jezik X izvršava na vašoj mašini M, onda mora da postoji virtuelna mašina Š koja radi na M a podržava (ovde sledi tvoj spisak zahteva)“. I problem je rešen. S druge strane C je recimo usvojio drugi pristup: ANSI C mora da se kompajlira na svemu, od superračunara koji simulira početak svemira do Pericinog ručnog sata; zato i runtime biblioteka izgleda onako kako izgleda — prilično oskudno.
f