[linux] X windows pre pracovnu stanicu
Zdenko Podobny
zdpo na mailbox.sk
Pondělí Duben 9 21:17:34 CEST 2001
No, bol som trochu zvedavy, co sa tu napise na tuto temu, pretoze ma pred nejakou dobou
to trapilo. Takze prispejem svojou troskou (aj ked vacsinou su to jen subjektivne dojmy).
> Hladal som aj nejaku dokumentaciu
> na vyladenie vykonu na penguin.cz, linux.cz, root.cz (najme v jazyku
> nasho kmena, alebo susedneho CZ), na netacik.sk, ale literatury o X
> win pre mna ako neznalca vela nie je. Vie niekto povedat viac, alebo
> poslat linky na zdroje.
Moje skusenosti mi hovoria, ze mas (a asi budes mat) smolu. A to z dvoch dovodov:
1. Software je zadarmo, ale za sluzby sa plati resp. prave z nich ziju firmy a vyladovanie
vykonu je sluba. Preto je aj tak relativne malo informacii o optimalizacii. Casto najdes len
nejaky odkaz v style "skuste zmenit tieto hodnoty"...
2. Ak nevies (resp. nerozumies) anglicky, tak mas smolu. Vacsina dostupnych informacii je
prave v tomto jazyku (takato situacia nie je typicka len pre linux). Na druhu stranu studiom
anglickych manualov sa mozes zlepsit v anglictine:-).
Ked som prebehol svoje CDcka tak som tam nasiel nieco taketo: Securing-Optimizing-Linux-
RH-Edition-1_3.pdf. Neviem z kade to mam ale v hlacke su tieto informacie:
Title: Securing and Optimizing Linux: RedHat Edition
Author's: Gerhard Mourani
Mail: gmourani na openna.com
Version: 1.3
Copyright 1999 - 2000 Gerhard Mourani, Open Network Architecture ® and OpenDocs
Publishing
Takze skus niekde na adrese openna.com alebo niekde, kde su OpenDocs pohladat novu
verziu. Vacsina veci je tam dost univerzalnie (t.j. nie len pre Red Hat) a su tu aj ukazky
niektorych nastaveni.
Predpokladom je vsak anglictina.
Pokial mas skutocne zaujem o vysoko optimalizovany Linux, tak si ho musis vykompilovat :-
(.
Pokial viem, vsetky velke distribucie pre platformu Intel (okrem Madrake) uvazuju ako o
najnizsej moznej hranici procesory 386 (Mandrake 586). Vynimkou je len jadro.
Dovodom pre takuto kompilaciu je, ze vsetci distributori maju zaujem, aby ich distribucia sa
dala spustit na co najviac roznych pocitacoch a preto pouziju "konzervativne" nastavenia,
ktore zial neumoznia maximalne vyuzitie vsetkych moznosti zvlast co sa tyka novych
pocitacov.
Preto riesenim je rekompilacia (Aj ked uznavam, ze zkompilovat celu distribuciu resp
Xwindows je pre bezneho smrtelnika sialenost.) Z niektorych reakcii na root.cz vyplyva, ze
napr. skompilovanie QT+KDE2 sa dost prejavilo na vykone Kaplikacii ako ked pouzivali
binarne verzie.
Ja osobne som KDE ani Gnome nekompiloval, aj QT a GTK po istych skusenostiach vzdy si
radsej vykompilujem sam. A moj subjektivny dojem je, ze to ovplyvnilo (pozitivne) minimalne
rychlost spustania aplikacii.
Vo vyssie spomenutej knihe je niekolko odporucani pre pouzitie CFLAGS (neviem ako to
lepsie vyjadrit). Mne sa na Mandrake osvedcilo toto nastavenie (pre pentium):
"-O6 -march=pentium -mcpu=pentium -ffast-math -funroll-loops -fomit-frame-pointer -fforce-
mem -fforce-addr -malign-double -fno-exceptions -fexpensive-optimizations -pedantic
Zvlast odporucam pouzit nastavenie "-O6 -fno-exceptions -fexpensive-optimizations". Pri
jednej kniznici po pouziti tohoto nastavenia mal vysledny produkt 10% velkost kniznice, ktora
bola vykompilovana bez tochto prepinacov. Blizsie vysvetlenie prepinacov je v manualoch
ku gcc (resp. pgcc). A ked sme zu pri tom.
Je niekolko prekladacov, pricom niektore sa zameriavaju na urcite CPU takze pgcc je
vlastne 'pentium gcc' a tusimze som niekde videl ze zachytil, ze sa robi kompiler urceny na
Athlony.
Pozri si niektore stranky o kompileroch a ich porovnaniach a niektore moznosti optimalizacie
na urovni kompileru napr:
www.gnu.cz (niekde je tam celkom dobra stranka o gcc a porovnanie s ostatnymi
kopilermi)
http://pgcc.hq.alert.sk/ (pentium gcc)
Samozrejme, ze takymito zasahmi sa ti lahko stane, ze to ci skompilujes u seba nepojde na
inom pocitaci. Na druhu stranu (tusim, ze to bolo uvedene pri MySQL) napr. pouzitim pgcc
mozes zvysit vykon udajne aj o 30%.
(BTW niekedy je aj dobre skontrolovat nastavenia na linkovanie { neodporucam pouzivanie
napr. -L/usr/X11R6/lib}, lebo sa vam moze stat taka mila vec, ze spustite kedit a on vam
oznami, ze sa neda sputit lebo nenasiel kniznicu GL.so.0.xxx [MESA], ktoru ste prave pred
chvilou odinstalovali)
> A teraz moj problem: aky pouzit desktop manazer (xdm, kdm, ...),
O tomto si myslym, ze je to otazka vkusu. Co ti vyhovuje, pouzivaj. Ja napr. ich vobec
nepuzivam a Xwin spoustam pomocou startx (blizsie info ako to nastavit je v HOWTO)
> aky pouzit window manazer...
To dost zavysi od toho, co ocakavas, co potrebujes a co budes pouzivat (ci potrebuje listu a
podobne veci, alebo nie)... Podla mojich skusenosti mi najrychlejsie nastartoval blackbox,
ale ja osobne pouzivam UDE (http://sourceforge.net/project/?group_id=2246), lebo mi
vyhovuje sposob ovladania a ked sa pohras s nastaveniami (resp. pouzijes nejaku styl
(theme)) dostanes aj oku lahodiaci vysledok.
Skus stranku http://www.portalux.com/ tam nie spomenutych viacero managerov, aj ked
urcite tam nie su vsetky.
> ale rychlost pri praci znacne pokrivkavala za spominanymi w2k
Tento rozdiel udajne vyplyva z pouziteho pricipov, z ktorych oba systemy vychadzali a preto
napr. na tom istom stroji, kde mas win aj linux napr. StarOfFice bude urcite rychlejsi pod win
ako pod linuxom. Ale v tomto sa celkom nevyznam, takze to nech vysvetli niekto iny.
Otazka je, aj co myslis tou pracov. Dovol aby som to vysvetlil na jednom priklade. Pod
windowsami som istu robu vedel spravit povedzme za 3h. Kde som to zacal robit pod
linuxom tak, to trvalo aj 4-5h, co ma dost nicilo. Ale po istej dobe som si nasiel programy,
ktore mi ulahcili niektore cinnosti, naucil som sa ich efektivnejsie ovladat az som sa znova
dostal na uroven 3h. V com je teda rodiel?
Ze som nemusel zapltit 500 dolarov za windowsacky program a ze vysledok z pod linuxu je
20-30% lepsi, lebo pod linuxom mozem vsetko dokonale ovladat, kdezeto pod windowsami
som tak mohol akurat sem tak kliknut s mysou...
Zdeno
BTW: Neskusal niekto si sam skompilovat Xwindows? Zaujimali by ma vysledky.
Další informace o konferenci linux