abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

    Ladislav Hagara | Komentářů: 2
    včera 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 16
    včera 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 25
    včera 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 710 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Gentoo Linux - optimalizácie

    15. 2. 2006 | Matej Gagyi | Systém | 9023×

    Viete prečo je lepšie skompilovať si programy vlastnoručne alebo nechať Portage, aby to urobilo za vás? Pretože binárne balíky nie sú optimalizované pre váš procesor a sú badateľne pomalšie. Dnes si porozprávame o tom, ako zo systému vyťažiť maximum.

    CFLAGS, CXXFLAGS

    Premennú prostredia CFLAGS používa gcc pri kompilácii zdrojových kódov v jazyku C. V Gentoo túto premennú nastavujeme v súbore /etc/make.conf a Portage ju pred kompiláciou balíčka prečíta a nastaví. Premenná CXXFLAGS funguje rovnako, ale pre jazyk C++.

    Ak nemáte problém s diskovým priestorom, ani s časom potrebným na kompiláciu, môžete bezpečne použiť nasledujúcu hodnotu CFLAGS a CXXFLAGS:

    CFLAGS="-O3 -fomit-frame-pointer -pipe"
    CXXFLAGS="$(CFLAGS)"

    Výsledný program však nebude ušitý na mieru vášmu procesoru a bude využívať iba inštrukčnú sadu procesora i386 (samozrejme ak vlastníte procesor založený na tejto architektúre).

    Ako funguje GCC

    Najprv by sme si mali povedať pár slov o tom, ako pracuje GCC. Ako už možno viete, GCC obsahuje viac kompilátorov naraz - kompilátory pre jazyky C, C++, Objective C, Fortran a Javu, ale aj ďalšie. Kompilátor GCC sa skladá z dvoch častí - frontend a backend.

    Každý jazyk má vlastný frontend. Frontend načíta (preparsuje) a spracuje samotné zdrojové kódy. Výstupom frontendu je reprezentácia zdrojového kódu v jazyku RTL (Register Transfer Language). Dá sa povedať, že RTL je abstraktný štruktúrovaný assembler. Je to veľmi všeobecný a zložitý jazyk zároveň, preto nemá zmysel ho používať pre bežné programovanie.

    Strom RTL sa pri kompilácii nachádza v pamäti len v binárnej forme. V binárnej forme vstupuje do backendu kompilátora GCC, ktorý je všeobecný pre celý kompilátor. Backend generuje z RTL stromu kód assemblera pre určený procesor. Backend tiež vykonáva optimalizácie nad RTL stromom a aj pri generovaní assemblera.

    Backend vie vykonať niekoľko desiatok rôznych optimalizácií a nie všetky sú vhodné v každej situácii. Preto sú rôzne druhy optimalizácií roztriedené do skupín, aby ich bolo možné jednoducho zapínať - o chvíľku si o nich povieme.

    Zostali vám nezodpovedané otázky? Ak vás zaujíma, ako vyzerá RTL, skúste skompilovať jednoduchý program s parametrom -dr:

    gcc -dr zvyšné parametre

    Ak chcete vedieť, ako prebiehajú rôzne optimalizácie v backende kompilátora GCC, prečítajte si článok The GNU Instruction Scheduler z roku 1989 (podstata GCC sa nezmenila).

    Optimalizácia

    Najdôležitejší je parameter optimalizácie -Ox. Určuje, ktorú skupinu optimalizácií chceme pri kompilovaní použiť. Písmeno x treba nahradiť číslom, alebo písmenom želanej skupiny. Popis jednotlivých skupín optimalizácií:

    -O0
    Neoptimalizuj. Kompilátor GCC nevykoná žiadne optimalizácie, kompilácia je najrýchlejšia a výsledný program je najpomalší.
    -O1
    Optimalizuj. Kompilátor vykoná optimalizácie, ktoré zmenšia a zrýchlia výsledný program a pritom príliš nepredĺžia čas kompilácie a jej nároky na pamäť.
    -O2
    Optimalizuj ešte viac. Kompilátor zapne všetky optimalizácie, ktoré urýchlia program a pritom priveľmi nezväčšia jeho veľkosť. Kompilácia je pomalšia a vyžaduje viac pamäte. Táto voľba sa používa najčastejšie.
    -O3
    Optimalizuj čo najviac. Toto je najnáročnejšia optimalizácia. Výsledný program je najväčší, ale aj najrýchlejší. Ak máte dobrý procesor (500MHz a viac) a potrpíte si na rýchlosť behu aplikácií, je to pre vás ideálna voľba.
    -Os
    Optimalizuj pre veľkosť. Zapne všetky optimalizácie parametru -O2, ktoré nezväčšia veľkosť výsledného programu a pridá ďalšie optimalizácie pre veľkosť výsledku. Rýchlosť a nároky na pamäť sú podobné, ako pri -O2.

    Ak špecifikujete viac parametrov -Ox naraz, použije sa iba posledný.

    Parameter -fomit-frame-pointer znemožní debugovanie (používateľ to nepotrebuje) a zmenší veľkosť binárky.

    Parameter -pipe urýchli kompiláciu, pretože gcc nebude medzivýsledky ukladať na disk, ale ponechá ich v pamäti.

    Inštrukčné sady

    Každý typ procesora má vlastnú inštrukčnú sadu - inštrukcia je jeden úkon, ktorý procesor dokáže vykonať. V assembleri nepoužívame príkazy, ale priamo inštrukcie procesora. Z toho vyplýva, že program v assembleri je závislý na procesore, pre ktorý je určený a nedá sa spustiť na inom.

    Našťastie nové procesory poznajú všetky inštrukcie starších procesorov a inštrukčnú sadu len rozširujú o ďalšie inštrukcie. Túto vlastnosť majú procesory z radu Intel x86 - procesory bežných PC (i386, i486, Pentium atď.).

    Ako som už povedal, kompilátor GCC generuje z RTL kódu kód assembleru a potrebuje teda vedieť, pre ktorý procesor má assembler vygenerovať. Na platforme x86 generuje predvolene pre procesor i386 a ten je možné použiť na ktoromkoľvek vyššom procesore.

    Parameter -march=architektúra určuje inštrukčnú sadu procesora, na ktorom má program fungovať. Ak chceme, aby program fungoval aj na starších procesoroch, ale chceme ho optimalizovať pre svoj procesor, môžeme použiť jeden z parametrov:

    • -mcpu=architektúra (gcc verzie 3.3 a nižšie)
    • -mtune=architektúra (gcc verzie 3.4 a vyššie)

    (Verziu gcc zistíme pomocou prikazu: gcc -v.)

    Za slovo architektúra dosaďte označenie procesora, pre ktorý kompilujete. Označenia všetkých procesorov nájdete v manuálovej stránke GCC. Ak kompilujete pre procesor typu x86, hľadajte sekciu Intel 386 and AMD x86-64 Options (jednoduchšie je nechať vyhľadať na manuálovej stránke reťazec athlon).

    LDFLAGS

    LDFLAGS používa linker (program, ktorý spája časti zdrojových kódov do spustiteľného súboru, alebo knižnice). Bezpečná hodnota premennej LDFLAGS je:

    LDFLAGS="-Wl,-O1"

    Ak chcete dostať zo systému maximum a ste ochotný trochu riskovať:

    LDFLAGS="-Wl,-O1 -Wl,--sort-common -z -combreloc -Wl, \
    --enable-new-dtags -Wl,--relax"

    V niektorých prípadoch sa pri kompilácii glibc môžu vyskytnúť problémy. Je lepšie nepoužívať v hodnote LDFLAGS parameter -Wl,--relax:

    LDFLAGS="-Wl,-O1 -Wl,--sort-common -z -combreloc -Wl,--enable-new-dtags"

    Problémy pre kompilácii robia aj OpenOffice.org a GStreamer. Tu sa odporúča radikálne riešenie - nepoužívať žiadnu hodnotu LDFLAGS:

    LDFLAGS=""

    V týchto špeciálnych prípadoch si môžete usporiť námahu s editovaním súboru /etc/make.conf a premenné určiť priamo z príkazového riadku:

    # LDFLAGS="" emerge gstreamer
    # LDFLAGS="" emerge openoffice
           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    15.2.2006 07:59 oxymoron
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    je mozne pouzit namiesto -Wl,-O1 -Wl,-O3 ??
    15.2.2006 08:19 Martin Beránek | skóre: 33 | blog: mousehouse | Brno
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Rekl bych ze autor pozapomel na parametr -march ktere pouzivaji bezne distribuce misto -mcpu. Existuji "objektivni testy" mezi temito rezimy?
    never use rm after eight
    15.2.2006 08:36 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Parameter -march=architektúra určuje inštrukčnú sadu procesora, na ktorom má program fungovať.
    15.2.2006 08:50 kavol | skóre: 28
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    hm, rád bych viděl nějaký doklad tvrzení v perexu o optimalizaci a rychlosti ...

    pokud se mluví o nějakých LDFLAGS, nebylo by od věci říct, co znamenají, zvlášť když se doporučuje za určitých okolností některé vynechat ... ostatně ani ty CFLAGS nejsou vysvětlené ... já vím, máme man, ale když už někomu něco doporučuju a píšu o tom článek, aspoň jedna větička proč mu doporučuju zrovna tohle by neškodila ...
    15.2.2006 09:35 J
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Pokud si pamatuju, v minulym dile nekdo postnul vysledky testu pri ruznych nastavenich. Rozdil byl velmi znatelny. Ovsem treba v pripade OO asi nema mnoho smyslu nejaka brutalni optimalizace, tam je mozna lepsi zvolit variantu rychle kompilace. Vyplati se to pro veci jako trebas mplayer.
    15.2.2006 09:56 kavol | skóre: 28
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    $ mplayer
    MPlayer 1.0pre7-4.0.1 (C) 2000-2005 MPlayer Team
    CPU: Intel Pentium M Banias (Family: 6, Stepping: 5)
    Detected cache-line size is 64 bytes
    CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
    Compiled with runtime CPU detection - WARNING - this is not optimal!
    ... no nezdá se mi, že by v mojí binární distribuci byl mplayer zkompilován zcela bez optimalizací
    15.2.2006 10:23 Trained.Monkey | skóre: 12 | blog: monkey
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    He, tohle co ukazujes je CPU runtime detection kterou mplayer dela sam. Kdyby jsi mel pentium I tak nezapne ani mmx
    15.2.2006 10:28 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    No mě se zase zdá, že to, co tady vidíme, je jen detekce procesoru. To samý získáte výpisem /proc/cpuinfo (IMHO).
    16.2.2006 09:58 kavol | skóre: 28
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    No mě se zase zdá, že to, co tady vidíme, je jen detekce procesoru.
    ovšem výsledkem této detekce se pak mplayer řídí a používá kód optimalizovaný pro dané možnosti ... což jaksi vyvrací názor, který se snaží článek vsugerovat, a to že binární distribuce optimalizace nepoužívají ...
    Yin avatar 16.2.2006 14:55 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    ... binární distribuce optimalizace nepoužívají ...

    To som nikdy nepovedal! Povedal som, že binárne distribúcie nie sú prispôsobené každému procesoru na mieru, ale len pre nejakého spoločného predchodcu väčšiny procesorov.

    A tento príklad je zmätočný, pretože sa týka iba jedného programu (mplayer) a nie celej distribúcie.

    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    19.2.2006 15:27 kavol | skóre: 28
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    ... binární distribuce optimalizace nepoužívají ...
    To som nikdy nepovedal!
    ano, takto doslovně ne, na druhou stranu já jsem neřekl, že jsi napsal přímo toto, takže mi taky taky nepodsouvej něco, co jsem neřekl!

    inkriminovaná věta zní:

    "Pretože binárne balíky nie sú optimalizované pre váš procesor a sú badateľne pomalšie."

    mezi "přebásněním" slov "nie sú optimalizované pre váš procesor" na "optimalizace nepoužívají" je z významového hlediska pouze jediný rozdíl, a to že jsem si dovolil zobecnit "ne pro váš procesor" na "pro žádný procesor", jelikož sjednocení množin {váš procesor} v případě čtenářů ábíčka zahrnuje nejspíš téměř všechny architektury, na kterých Linux běhá - pokud s tím nesouhlasíš, měl bys dokázat, že průnik množin {všechny modely procesorů, pro které jsou některé balíky v různých binárních distribucích optimalizovány} a {všechny modely procesorů, na kterých čtenáři provozují Linux} je prázdný
    Povedal som, že binárne distribúcie nie sú prispôsobené každému procesoru na mieru, ale len pre nejakého spoločného predchodcu väčšiny procesorov.
    kde se toto tvrzení v článku vyskytuje?
    A tento príklad je zmätočný, pretože sa týka iba jedného programu (mplayer) a nie celej distribúcie.
    zmatečná je jedině tvoje reakce, kolega J, na kterého jsem reagoval, psal o tom, že optimalizace má smysl u jednotlivých programů a uvedl: "Vyplati se to pro veci jako trebas mplayer.", v dané souvislosti je tedy nesmysl mluvit o celé distribuci
    15.2.2006 11:29 J
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Compiled with runtime CPU detection - WARNING - this is not optimal!

    No, nezda se ze by tady nekdo umel cist.
    16.2.2006 10:04 kavol | skóre: 28
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    No, nezda se ze by tady nekdo umel cist.
    ok, až se to naučíš, tak začni od článku a pokračuj mojí první reakcí, pak třeba pochopíš, proč jsem na tvoji zmínku o mplayeru reagoval takto (případně si přečti ještě moji odpověď lzapovi)
    David Watzke avatar 15.2.2006 14:00 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    CPU detection je lepší zakázat, zpomaluje. Ale co jinýho zbyde tvůrcům balíčků, že jo...
    $ mplayer
    MPlayer dev-CVS-060102-08:04-3.4.5 (C) 2000-2005 MPlayer Team
    CPU: Advanced Micro Devices Athlon 64
     Newcastle,Winchester,San Diego,Venice; Sempron Palermo
     (Family: 15, Stepping: 0)
    CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
    Přeloženo pro CPU x86 s rozšířeními: MMX MMX2 3DNow 3DNowEx SSE SSE2
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    16.2.2006 10:06 kavol | skóre: 28
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Ale co jinýho zbyde tvůrcům balíčků, že jo...
    nu sláva, zdá se, že konečně jeden to pochopil - máš u mě malé nevýznamné, takřka záporné, plus ;-)
    15.2.2006 13:52 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    To byly ovšem výsledky analytického benchmarku, navíc benchmarku s velmi pochybným způsobem vyhodnocování výsledků. Pro odpověď na otázku, jak optimalizační příznaky ovlivní rychlost aplikací v distribuci, to má téměř nulovou vypovídací hodnotu.
    15.2.2006 18:38 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Zdá se, že některé mýty, třeba o zrychlování aplikací pomocí CFLAGS, jsou hojně rozšířené a to především mezi lidmi používající jistou kompilovanou distribuci. Já se obávám, že vetšina aplikací, které běžně používám by ocenila spíše poloviční přístupovou dobu na disk ;-), anebo nějakou jinou, super rychlou paměť (stačilo by tak o řád pomalejší jak RAM).
    When your hammer is C++, everything begins to look like a thumb.
    15.2.2006 19:08 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    S tím bych souhlasil, dost lidí totiž ještě nepochopilo, že tato nejmenovaná distribuce je o možnostech customizace a jedoduchosti správy, nikoli o výkonu (i když ten s customizací může souviset).
    15.2.2006 13:49 Jiri Slaby
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Ach jo. Urcite je O3 "aj najrychlejsi"? Urcite omit-frame-pointer znemozni debug na vsech platformach? IMHO nejde tak ani o to, ze to zmensi kod, ale spis, ze se uvolni jeden registr.
    15.2.2006 16:23 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    a je aj bezpecny? napriklad pre PPC G4 je nestabilny, aspon tak tvrdi gentoo-wiki.org
    15.2.2006 20:50 Marek 'marx' Grác | skóre: 21 | blog: Paralelný blog | Brno / Bratislava
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Keep in mind that -O3 enables optimizations that generally make code worse, not better. Use it only if you know it will improve your code.
    A občas sa stane, že kvôli tomu niečo padne. V každom prípade použitie kompilátoru od Intelu má omnoho lepší efekt :)
    15.2.2006 21:24 jm
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    V každom prípade použitie kompilátoru od Intelu má omnoho lepší efekt :)
    To bezesporu, jen maloco dokaze tak zprznit vysledek jako ICC... :-D
    Yin avatar 16.2.2006 15:03 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie

    Ok, priznávam, že -O3 nemá vo väčšine prípadov tie najlepšie výsledky, ale aj tak sú tie najhoršie prípady takmer rovnaké ako pri -O2 (vyvracajúci dôkaz ocením).

    Ja som nepovedal, že --omit-frame-pointer znemožní debugovanie na všetkých platformách.

    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    16.2.2006 16:36 Marek 'marx' Grác | skóre: 21 | blog: Paralelný blog | Brno / Bratislava
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Minimálne pred časom, Huffmanova kompresia a programy, ktoré príliš cyklia. Čo je ale hlavné, tak -o3 rapídne zvyšuje pravdepodobnosť pádu programu.
    David Watzke avatar 16.2.2006 19:26 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Ani jsem si nevšiml... a to tak mám pomalu celej systém.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    18.2.2006 11:31 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Tak si říkám :-)

    Nejvíc mi padá stejnak Opera, která je snad jediným binárním programem v mém PC...(ano, OOo si překládám)
    15.2.2006 20:44 Jiri
    Rozbalit Rozbalit vše Vyplati se -O3 nebo -Os?
    Vyplati se -O3 nebo -Os?

    Zatim pouzivam -O3, ale možná by bylo vhodnější kompilovat s -Os. O kolik jsou ty binarky mensi? Zrychli se vyrazne tahani z disku?
    15.2.2006 21:00 xkesh | skóre: 46 | blog: eXtempore
    Rozbalit Rozbalit vše Re: Vyplati se -O3 nebo -Os?
    Vyplati se -O3 nebo -Os? Zatim pouzivam -O3, ale možná by bylo vhodnější
    Byly doby, kdy jsem nadsene kompiloval s -O3. Od te doby, co jsem redukoval na -02, vyrazne klesl pocet komplikaci pri kompilacich (de facto na 0). Jineho efektu si nejsem vedom. Myslim, ze je to i ve smyslu doporuceni vyvojaru Gentoo, viz prispevek vyse.
    23.2.2006 19:10 Trinitrotolue Ramapitesca
    Rozbalit Rozbalit vše Re: Vyplati se -O3 nebo -Os?
    Od te doby co jsem system celej prekompiloval s O2 tak se mi na disku objevilo o 15% volnyho mista navic.
    m1c4a1 avatar 16.3.2007 14:51 m1c4a1 | skóre: 2 | Kobylnice
    Rozbalit Rozbalit vše Re: Vyplati se -O3 nebo -Os?
    To bude tím, že -O3 v binárce rozvíjí inline funkce, čímž se velikost výsledného souboru sice zvětšuje, ale urychluje to provádění programu.
    15.2.2006 20:59 nardew | skóre: 5
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    vedel by mi niekto napisat nieco o MAKEOPTS?

    ja mam v make.conf MAKEOPTS='-j2', ale neviem co to znamena, pripadne ak by tam bolo dobre pridat nejake dalsie volby, mozte napisat
    the best way of Memtest is emerge qt kde-meta
    15.2.2006 21:25 jm
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    # MAKEOPTS provides extra options that may be passed to 'make' when a
    #     program is compiled. Presently the only use is for specifying
    #     the number of parallel makes (-j) to perform. The suggested number
    #     for parallel makes is CPUs+1.
    #MAKEOPTS="-j2"
    
    Zdroj: /etc/make.conf.example :-)
    Yin avatar 16.2.2006 14:47 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Make bude spustať viac úloh paralélne. V tvojom prípade dve naraz. Využiješ to hlavne ak kompiluješ distribuovane (napr. pomocou distcc), alebo ak máš viacprocesorovú zostavu. Bežne sa odporúča použiť hodnotu: počet procesorov + 1
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    David Watzke avatar 16.2.2006 19:28 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Bežne sa odporúča použiť hodnotu: počet procesorov + 1
    To je pro másla 8-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    16.2.2006 21:46 Milan Keršláger
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    Vy jste takový Brouk Pytlík, pane kolego. Jednak tvůrci binárních distribucí nejsou natvrdlí, aby nepoužili optimální optimalizace tam, kde to má smysl (glibc, openssl) a jednak se alespoň obtěžují reálně vyzkoušet, co má a co nemá *skutečný* vliv. Kromě toho optimalizace pro CPU nemají příliš význam (GCC toho až tak moc nevyužívá a ty extrabuřty nejsou povětšinou až tak úchvatné), protože aplikací, kde se to vyplatí, je jak šafránu.

    A nezapomeňte, že dnes mají všichni i686, na což jsou distribuce optimalizované (s výjimkou toho, že jejich kód běží i na pentiích). Optimalizace pro Pentium význam má (procesor funguje úplně jinak), ale systém na Pentiu snad používá jen masochista a na router nejsou optimalizace potřeba (distribuce obvykle mají jádra pro i586).

    Pokud vás trápí něco pomalého, pak se spíše zaměřte na prelink, protože to bude mít větší vizuální efekt, než milisekundy ušetřené v GUI za běhu Firefoxu.
    20.2.2006 18:34 roman
    Rozbalit Rozbalit vše Re: Gentoo Linux - optimalizácie
    zaujala mne ta optimalizace LDFLAGS a tak jsem se podiavl na zdrojaky ld

    -O nedela VUBEC NIC --sort-common - se snazi jen priblizne setridit symboly combreloc - nedelas VUBEC NIC relax - dela neco

    miluju gnu software! :)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.