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