Vykonnost kompilatorov

Stanislav Meduna stano na trillian.eunet.sk
Neděle Únor 14 12:09:53 CET 1999


Hi all,

robim software, ktory pobezi na NT-ckach aj Linuxe.
Kedze vykonnost je v tomto pripade velmi podstatna,
pohral som sa trochu s kompilatormi pod Linuxom
a vysledky ma nijako zvlast nepotesili.

V teste islo o shared memory a operacie nad nou,
to cele v multithreadovom prostredi, multithreading
ale nie je nijak zvlast vyuzivany. Vacsina 
kodu je v zdielanej kniznici a teda kompilovana
s -fPIC.

Na moje prekvapenie Linux na tom istom hardware
vyhral v jedinom teste z osemnastich, a sice tam,
kde sa pomerne casto volali synchronizacne primitivy.
Kde islo o "hrubu silu" a jadro sa nevolalo, bol
Linux oproti NT-ckam priemerne o 20% pomalsi
(v najhorsom pripade dokonca o tretinu).

Skusal som egcs 1.1.1 a pgcc 1.1.1, rozne optimalizacie
mali minimalny efekt, raz plusovy, raz minusovy.
To ma tiez prekvapilo - zda sa, ze skutocne vyznamne
pgcc optimalizacie uz boli do egcs backportovane.

Na strane NT-cok to bolo MSVC 5.0 s defaultovymi
nastaveniami pre "Release".

Hardware bolo Pentium Pro 166 MHz, 96 MB RAM,
test samotny bol typu "namapuj cca 2 MB subor
ako shared memory a babri sa s datami vovnutri".

Takze mam otazky:

- moze tieto pozorovania niekto potvrdit?
- existuje nejaky zoznam odporucani, ako priviest
  egcs / pgcc k co najefektivnejsiemu kodu?

Zdravi
-- 
				Stano



Další informace o konferenci Linux