abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

včera 14:24 | Nová verze

Opera 46, verze 46.0.2597.26, byla prohlášena za stabilní. Nejnovější verze tohoto webového prohlížeče je postavena na Chromiu 59. Z novinek lze zmínit například podporu APNG (Animated Portable Network Graphics). Přehled novinek pro vývojáře na blogu Dev.Opera. Oznámení o vydání zmiňuje také první televizní reklamu.

Ladislav Hagara | Komentářů: 0
včera 13:37 | IT novinky

I čtenáři AbcLinuxu před dvěma lety vyplňovali dotazníky věnované Retro ThinkPadu. Nyní bylo potvrzeno, že iniciativa Retro ThinkPad je stále naživu a Lenovo připravuje speciální edici ThinkPadu jako součást oslav jeho 25. výročí.

Ladislav Hagara | Komentářů: 8
včera 10:22 | Komunita

Bylo oznámeno, že frontend a runtime programovacího jazyka D bude začleněn do kolekce kompilátorů GCC (GNU Compiler Collection). Správcem byl ustanoven Iain Buclaw.

Ladislav Hagara | Komentářů: 4
21.6. 18:47 | IT novinky
Bulharská firma Olimex je známá jako výrobce kvalitních mini arm desek, u nichž se snaží být maximálně open source. Kromě velké otevřenosti taktéž zaručují dlouhodobou podporu výroby, což je vítáno ve firemním prostředí. Nyní firma ohlásila ESP32-GATEWAY, malou IoT desku s Wifi, Bluetooth, Ethernetem a 20 GPIO porty za 22EUR. Tato malá deska je ořezanou verzí ESP32-EVB.
Max | Komentářů: 20
21.6. 18:00 | Zajímavý článek

LinuxGizmos (v dubnu loňského roku přejmenován na HackerBoards a v lednu letošního roku zpět na LinuxGizmos) zveřejnil výsledky čtenářské ankety o nejoblíbenější jednodeskový počítač (SBC) v roce 2017. Letos se vybíralo z 98 jednodeskových počítačů (Tabulky Google). Nejoblíbenějšími jednodeskovými počítači v letošním roce jsou Raspberry Pi 3 Model B, Raspberry Pi Zero W a Raspberry Pi 2 Model B.

Ladislav Hagara | Komentářů: 0
21.6. 14:22 | Pozvánky

Ne-konference jOpenSpace 2017 se koná od 13. do 15. října 2017 v hotelu Farma u Pelhřimova. Registrace účastníků je nutná. Více informací na stránkách ne-konference.

Zdenek H. | Komentářů: 0
21.6. 14:11 | Nová verze

Vyšla nová verze 1.2 audio kodeku Opus, která přináší mnoho drobných optimalizací a tím i celkové vylepšení poměru bitrate/kvalita. Fullband (do 20 kHz) stereo hudba je možná již od 32 kbit/s, fullband mono řeč již od 14 kbit/s. Více informací sepsal vývojář Opusu J. M. Valin formou již tradiční demo stránky.

Petr Tomášek | Komentářů: 19
21.6. 14:00 | Zajímavý článek

Na MojeFedora.cz byl zveřejněn překlad příspěvku na blogu Christiana Schallera, vedoucího desktopového týmu v Red Hatu, v němž se zabývá novinkami ve Fedoře Workstation 26 a následujících vydáních. Například již ve Fedoře 27 by se měl objevit jednotný server pro audio a video v Linuxu PipeWire. Ten byl představen před dvěma lety. Tenkrát ještě pod názvem Pinos (PulseVideo).

Ladislav Hagara | Komentářů: 0
21.6. 05:55 | Bezpečnostní upozornění

V KMailu byla nalezena a opravena bezpečnostní chyba CVE-2017-9604 týkající se uživatelů, již své maily podepisují a šifrují pomocí OpenPGP. Pokud uživatel KMailu při odesílání mailu zvolil možnost Odeslat později, tak byl mail odeslán nepodepsaný a v otevřeném tvaru.

Ladislav Hagara | Komentářů: 15
21.6. 04:44 | Pozvánky

Mozilla.cz zve na Mozilla meetupy v Brně a Praze. Brněnské setkání proběhne vůbec poprvé, a to tento pátek 23. 6. v Beer & Grill U Dřeváka. To pražské bude příští čtvrtek 29. 6. v Diversion Bistru.

Ladislav Hagara | Komentářů: 0
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (31%)
 (1%)
 (9%)
 (44%)
 (9%)
Celkem 821 hlasů
 Komentářů: 65, poslední 1.6. 19:16
    Rozcestník

    Dotaz: Nejlepší nastavení GCC

    1.9.2005 16:20 Andrej | skóre: 44 | blog: Republic of Mordor | Zürich
    Nejlepší nastavení GCC
    Přečteno: 159×

    Potřeboval bych poradit ohledně nastavení GCC pro kompilaci balíčků a jádra.

    Proč nebývá v distribucích defaultně nastavena optimalizace -O3 pro kompilaci balíčků? Napadají mě 3 možné odpovědi, ale netuším, která je správně. :-D

    • Lze ji bez obav nastavit a výsledný kód bude fungovat rychleji.
    • Zrychlení je zanedbatelné a přináší to navíc nějaké (?) nevýhody, kvůli kterým je lepší zůstat u O2.
    • Jde o experimentální věc, binárky můžou být poškozené/nefunkční. Nevyplatí se riskovat.

    Co z toho je pravda?

    O podobných třech možnostech jsem uvažoval ještě u dvou jiných voleb:

    1. Volba "Use register arguments" v nastavení kernelu. (První tři argumenty funkce se předávají v registrech procesoru, tj. opravdu fofrem.)
    2. Volba gcc zvaná -funit-at-a-time popsaná zde takto: Parse the whole compilation unit before starting to produce code. This allows some extra optimizations to take place but consumes more memory.

    Zrovna hodně kompiluju a rád bych proto věděl, co se vyplatí nastavit. Máte s tím někdo bližší zkušenosti? Která ze tří možností je v jednotlivých případech nejblíž pravdě?

    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ

    Odpovědi

    1.9.2005 19:53 Marcel Šebek | skóre: 21
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    -funit-at-a-time je defaultně zapnutá u -O2, taže tam není co řešit. Register arguments u kernelu používám a zatím žádné problémy. -O3 bych nastavoval hlavně u kritických aplikací (třeba hry), kde chyba tolik nevadí a rozdíl je poznat.
    Real programmers don't comment their code. If it was hard to write, it should be hard to read.
    1.9.2005 20:18 Andrej | skóre: 44 | blog: Republic of Mordor | Zürich
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC

    Když je rozdíl i subjektivně poznat, to už je dobrý výsledek, který stojí za to. S tím kernelem to zkusím.

    Jenže otázka je, jestli chyba opravdu tolik nevadí. Nerad bych, aby pak práce s mým počítačem byla o nervy a abych se musel pořád jen obávat, kdy to spadne. Jak časté ty chyby můžou být? Je ta volba -O3 oficiální a odzkoušená, nebo je experimentální a nespolehlivá?

    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
    1.9.2005 20:56 #Tom
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Já mám skoro celej Linux from scratch zkompilovanej s -O3 -fomit-frame-pointer -march=pentium2 -fPIC mimo jádra a glibc a nepadá mi nic.
    2.9.2005 16:46 Andrej | skóre: 44 | blog: Republic of Mordor | Zürich
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC

    Věřím, že například na hodně standardním desktopu všechno stoprocentně funguje. Na speciálnějších konfiguracích je to ale složitější. Já mám Asus M2400N (notebook). Mám na něm Linux už odnepaměti. Funguje mi všechen hardware i suspend.

    Dva dny zpátky jsem si zkompiloval kernel 2.6.13 a vstaly mi vlasy hrůzou. Software suspend z www.suspend2.net, který vždy stoprocentně fungoval, najednou začal blbnout, plivat chybové hlášky a zasekávat systém, ještě k tomu náhodně a když to nejmíň potřebuju. Driver pro modem (slmodem 2.6.10) nezkompiluju ani zázrakem a patche nepomáhají.

    Zkoušel jsem kompilovat jádro s parametry v registrech a fungovalo na první pohled stejně spolehlivě jako bez nich, dokonce o pár sekund rychleji bootovalo. Chyby při uspání se vyskytovaly s přibližně stejnou pravděpodobností. :-( Takže zatím nechávám parametry v registrech.

    Právě výměna jádra mě vedla k dotazu ohledně nastavení gcc - jestli třeba nedělám něco špatně. Možná ale spíš jen předbíhám událostem a měl bych počkat, až budou patche pro kernel, suspend a modem. Přece jen asi není dobré instalovat kernel, který je dva dny po vydání...

    Když to ale vezmu z jiného pohledu, kdybych si ho nenainstaloval já společně se spoustou dalších kaskadérů, kdo by ho potom vyzkoušel? :-D

    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
    2.9.2005 20:55 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Proč kompiluješ s -fPIC programy? (Knihovny se s ním kompilují automaticky, takže na ty to nemá vliv.) Znám pár důvodů, proč se tím zhroší výkon, ale proto to asi neděláš ;-)
    3.9.2005 12:47 #Tom
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    S -fPIC kompiluju z pohodlnosti všechno, protože knihovny se mi s tím automaticky bohužel nekompilují, někdy dokonce ani tehdy, když to dám do CFLAGS/CPPFLAGS, třeba Qt. Navíc z některých programů rád dělám knihovny - třeba takové xpdf, LPRng nebo Samba. Běh programu se tím snad nezpomalí, řekl bych, že jen jeho spouštění.
    3.9.2005 13:54 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Právě naopak.

    Qt neinstaluji, takže tu nebudu komentovat. Cokoli, co používá libtool, a to je dnes skoro vše, kompiluje knihovny a moduly s -fPIC (nebo -fpic, na intelu je to jedno). A všechny ostatní knihovny, které nepsal úplný diletant, též.

    Použití -fPIC (-fpic) výrazně zrychluje spouštění a umožňuje sdílet sekci .text, protože se v ní nemusejí provádět relokace (které vyžadují, aby se do ní zapsalo, což samozřejmě znemožňuje sdílení). U sdílených knihoven je proto jeho nepoužití neomluvitelné -- okamžitě bugreportovat, víš-li o nějaké takové knihovně.

    Má ovšem i nevýhody, zejména na intelu komplikuje jiné využití ebx, takže vede k méně efektivnímu kódu. Programy normálně natahují .text na danou adresu virtuální paměti (relokují se jen ne pre-linkované knihovny), takže je sdílena -- a použitím -fPIC proto získáváš jen ty nevýhody.
    3.9.2005 15:29 #Tom
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Už si nepamatuju všechny knihovny mají vypnutý PIC. Podle toho, co jsem o PIC četl, tak bez něj je potřeba knihovnu zavádět do paměti pro každý program znova - snad to tak chápu dobře i z vašeho příspěvku. Právě toto mě motivovalo k centrálnímu zapnutí PIC přes proměnné prostředí CFLAGS/CPPFLAGS, ze zdrojáků instaluju skoro všechno a nechce se mi na to myslet při každé kompilaci. Zjistil jsem ale, že sdílených knihovnách je uložena velká část kódu - u mě je to asi 276 MB z 580 MB. Řekl bych, že zapnutím PIC pro všechno zase tolik neztratím.
    1.9.2005 20:57 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Jsou borci co jedou i na -O8, tak myslím, že to není až zas tak riskantní. Jinak ten rozdíl je znát spíše mezi -O0, -O1 a -O2, dál to jsou už jen drobnosti a nemusí to vždy přinést ideální poměr cena/výkon (kde cena je snížení stability)
    1.9.2005 21:11 #Tom
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    -O3 je maximum (pokud vím, v manuálové stránce vyšší není), takže mají jen třetí stupeň, i když napíšou osmičku.
    1.9.2005 21:45 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Je to možný... to by pak vysvětlovalo, proč to nejde poznat :D
    2.9.2005 16:49 Andrej | skóre: 44 | blog: Republic of Mordor | Zürich
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Nebo je tam něco tak experimentálního, že to ani není v dokumentaci... :-) Pak by totiž šťouralové jako já zkoušeli, co to snese. :-D
    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
    Luboš Doležel (Doli) avatar 2.9.2005 20:06 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    V Makefile/skriptu u Quake 3 jsem někde viděl -O8
    1.9.2005 21:00 D-Evil | skóre: 25 | Praha
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Osobně jsem na Gentoo rozdíl mezi -O2 a -O3 poznal jen jeden, delší kompilace v případě O3. Zrychlení jsem pouhym okem nezpozoroval žádný, ale je možný, že moje nastavení pro GCC nebyly úplně optimální, takže to berte spíš jako jednu osobní zkušenost, která nemusí platit všude.
    1.9.2005 22:12 snowracer | skóre: 21 | blog: Omniloquent | Praha
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Z mého pohledu se vyplatí používat O2. Binárku jsou téměř stejně rychlé, jako ty, které vylezou z kompilátoru při použití O3, jsou o něco menší a jsou široce používány, na což se jistě myslí i u testování programů.
    2.9.2005 21:08 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Historicky jsou vyšší úrovně optimalizace u GCC bugovitější a méně otestované, že se s -O3 chybně zkompilovalo jádro, nebyla tak řídká situace. Kompiluje se citelně déle a rozdíl ve výkonu je minimální, někdy klidně i negativní, protože se toho hodně inlinuje, naroste velikost kódu, který se tím už moc nezrychlí, ale zato se ho méně vejde do keší procesoru... Kromě toho je s -O3 v podstatě nemožné debuggování (s -O debugguji normálně, s -O2 se dá jako co, ale -O3 je smrt). Většího zrychlení než s -O2 -> -O3 spíš dosáhneš nějakým špinavým způsobem typu -fomit-frame-pointer, -ffast-math a pod. (žádám Gentooisty, kteří si teď rychle přidají do flagů -ffast-math, aby si pak stěžovali na lampárně, ne mně, že něco počítá blbě).
    3.9.2005 08:49 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Myslím, že většina Gentooistů si moc zbrkle nedává do CFLAGS kdejaký (potenciálně nebezpečný) flagy... (mluvím za sebe)
    3.9.2005 09:44 snowracer | skóre: 21 | blog: Omniloquent | Praha
    Rozbalit Rozbalit vše Re: Nejlepší nastavení GCC
    Používám -ffast-math na všech počítačích kromě produkčních serverů. Nestěžuji si :-)

    Založit nové vláknoNahoru

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

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