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í
×
    dnes 22:33 | Nová verze

    Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.

    Ladislav Hagara | Komentářů: 0
    dnes 17:44 | Zajímavý článek

    Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.

    karkar | Komentářů: 0
    dnes 12:11 | Humor

    Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).

    Ladislav Hagara | Komentářů: 2
    dnes 10:44 | IT novinky

    Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.

    Ladislav Hagara | Komentářů: 22
    dnes 09:55 | IT novinky

    Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.

    Ladislav Hagara | Komentářů: 2
    dnes 09:33 | IT novinky

    Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.

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

    Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 2
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (22%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 492 hlasů
     Komentářů: 19, poslední dnes 11:32
    Rozcestník

    ACM SIGPLAN ocenila GCC

    Speciální zájmová skupina věnovaná programovacím jazykům (SIGPLAN, Special Interest Group on Programming Languages) Asociace pro výpočetní techniku (ACM, Association for Computing Machinery) vyhlásila na slavnostním ceremoniálu v rámci konference PLDI 2014 vítěze letošní Programming Languages Software Award. Ocenění získal projekt GNU Compiler Collection (GCC).

    13.6.2014 08:12 | Ladislav Hagara | Komunita


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

    Komentáře

    Vložit další komentář

    13.6.2014 16:24 unicode
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Ale stejně je lepší investovat čas do clang;-)
    15.6.2014 11:15 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Není. Protože jeho architektura neumožňuje vymáčknout při kompilaci do binárky maximální optimalizace, tedy ani nemůže mít ani maximální rychlost.

    Důvod, proč člověk používá jazyky jako C/C++/Fortran je mimo jiné ten, že chce vymáčknout z binárky maximální rychlost.

    Až půjde do tuhého, gcc bude nakonec vždy rychlejší, protože nemá limitaci v možnostech implementace optimalizací by design jako llvm/clang.

    Přijde doba, kdy se to řekne naplno a bude to obrovské „nečekané“ zklamání.

    Proto je lépe dát hlavní energii gcc. To druhé si nechat jako možnost rychlé implementace nových jazyků, kde rychlost není klíčová.

    Je dobré se občas zamýšlet nad vlastnostmi programů, ne jenom nad tím, že je něco cool, wow, a všude se o tom kladně píše.

    Miloslav Ponkrác
    17.6.2014 10:31 nyan
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Ano to vsechno je pravda - za predpokladu ze rychlost vysledne binarky je to nejdulezitejsi. Obavam se ale ze jiny lide muzou mit jine priority.
    17.6.2014 11:57 roman
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    A v cem presne je ta architektura tak zvlastni ze to neumoznuje? Podle mne je to blbost.

    Ano, LLVM ma nektera omezeni, ale gcc taky nemuze delat vse. V podstate jsou 2 takova hlavni omezeni (o kterych vim), inliner nemuze pouzivat analyzy (na tom se pracuje, prepisuje se pass manager), codegen vidi jenom jeden basic block zaraz (na to jsou plany).

    Gcc ma zase jine omezeni.

    Ale zadna principielni/neresitelna omezeni llvm nema, narozdil od podle meho nazoru gcc, ktere ma tak vysoky technical debt ze je dle meho nazoru neopravitelne.
    Bedňa avatar 15.6.2014 22:28 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Lepšie ako porovnávanie pindíkov je slobodný grupen sex, aby sme mali možnosť to najlepšie vylepšiť.
    KERNEL ULTRAS video channel >>>
    16.6.2014 08:21 Honz
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Ale mělo by se střídat, někteří už dvakrát kouřili...
    Bedňa avatar 16.6.2014 20:34 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Hoď to do bugzilly.
    KERNEL ULTRAS video channel >>>
    13.6.2014 17:56 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Zkusili jste někdo porovnat jaký je rozdíl vy výsledném kódu (rychlost, velikost) mezi gcc, clang a intel C++ compiler?
    Hans1024 avatar 13.6.2014 18:54 Hans1024 | skóre: 5 | blog: hansovo
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Phoronix porovnava gcc a clang kazdou chvili. Vetsinou v optimalizacich vede gcc a rychlejsi kompilaci ma clang.
    Veni, vidi, copi
    13.6.2014 22:39 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Asi dost záleží na tom, co kompiluješ. Nějaké systematické srovnání jsem nedělal, ale během "flame war" na rootu jsem něco zkoušel. Třeba násobení matic přeložené g++ běželo 64 sekund, ale verze kompilovaná icc běžela pouhých 0.85 sekund. Ale třeba sadu RMSD mi g++ verze počítala 2.64 sekund, ale icc verze na to potřebovala 5.58 sekund.
    14.6.2014 02:41 g.g
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Třeba násobení matic přeložené g++ běželo 64 sekund, ale verze kompilovaná icc běžela pouhých 0.85 sekund.
    Tak tohle vypadá jako problém, který by zasloužil podrobnější diagnózu. ICC má možná (nevím...) o něco lepší autovectorizer, ale tohle zní jako patologický případ, nemyslíte? (Zkoušel jste to disassemblovat?)
    14.6.2014 05:52 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Šlo o naivní násobení matic velikolsti 2000x2000. Co jsem tehdy koukal, tak těch pět řádků, co provádí samotné násobení, to rozvinulo na asi 1100 řádků assembleru. A více jsem to nezkoumal.
    Hans1024 avatar 14.6.2014 13:40 Hans1024 | skóre: 5 | blog: hansovo
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    A s jakymi optimalizacemi jste to kompiloval?
    Veni, vidi, copi
    14.6.2014 14:39 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Volby byly, tuším, -O3 -march=native a pouštěl jsem to na Core i7 (3630QM).
    Hans1024 avatar 14.6.2014 14:58 Hans1024 | skóre: 5 | blog: hansovo
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Hmm, leda me napada, ze by icc pouzival automaticky neco na zpusob -ffast-math. Ale ani to by asi neudelalo tak markantni rozdil. 64 vs 0.85 sekund - to skoro vypada, ze si icc proste spocital vysledky pri kompilaci - jestli teda byly ty matice nejak konstantne zadane.
    Veni, vidi, copi
    Hans1024 avatar 14.6.2014 15:04 Hans1024 | skóre: 5 | blog: hansovo
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Tak jsem se docetl, ze pry
    ICC by default uses a ‘fast-math’ like mode.
    Veni, vidi, copi
    14.6.2014 16:06 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Koukal jsem se znovu do té diskuze, to násobení bylo celočíselné, takže vliv -ffast-math v tom nebude. Když si nechám vygenerovat instrukce, výstup icc je mnohem delší, takže bych tipoval, že icc dělá (lepší) loop unroling. Další věcí je, že to násobení je dost naivní, pokud by druhá matice byla již transponovaná, g++ by to dalo za asi 2.2 sekundy.
    14.6.2014 15:10 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Při kompilaci si to určitě nespočítal, protože data se načítala ze souboru.
    krab1k avatar 14.6.2014 15:58 krab1k | skóre: 11 | Brno
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Vysvětlení je podle mě trochu jinde: ICC provádí loop interchange (ICC o těchto věcech informuje s flagem -opt-report=hlo). Přesněji cykly přes (i, j, k) nahradí cykly přes (i, k, j). Konkrétně tahle úprava optimalizuje přístup k prvkům matice B ve výrazu C[i][j] += A[i][k] * B[k][j].

    Nejrychleji měnící se index je pak j, takže oproti původní verzi přistupujeme k prvkům, které jsou v paměti vedle sebe.
    14.6.2014 16:24 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Díky, zkusil jsem to znovu přeložit a opravdu icc hlásí LOOP INTERCHANGE. Když ty smyčky předělám ručně, g++ to najednou zvládne za 3.16 sekund.

    PS: Ten divně formátovaný kód není můj.
    14.6.2014 19:49 g.g
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Hmm, a zkoušel jste použít -floop-interchange? :-)
    14.6.2014 20:17 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Ne, ani pro to nemám v gcc podporu. Ale tak doplním ji a zkusím.
    14.6.2014 21:14 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Tak -floop-interchange u g++ na to nemá vliv.
    16.6.2014 01:45 g.g
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Hmm. Tak to je asi buď námět na dotaz v mailing listu GCC, nebo případně na bug report, pokud to nedělá něco, co to dělat má.
    15.6.2014 11:21 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    „Zkusili jste někdo porovnat jaký je rozdíl vy výsledném kódu (rychlost, velikost) mezi gcc, clang a intel C++ compiler?“

    Rychlost:

    To je jednoduché. Intel C++ je daleko napřed přede vším. O něco horší je Microsoft C++. Ještě horší a pomalejší je gcc, ale už ne o mnoho, poslední verze gcc jsou mnohem lepší v optimalizaci.

    A clang má postavenou architekturu tak, že to natvrdo a přímo omezuje výslednou množinu aplikovatelných optimalizací přímo v jeho designu. Takže pokud gcc nezaspí, bude clang vždy pomalejší a dávat horší binárky. By design má clang limitovánu rychlost výsledné binárky.

    Velikost:

    Co se týká velikosti, na to už dnes kašle pes. Žádný kompilátor neumí dobře optimalizovat na malou velikost, respektive se implementace této varianty v kompilátorech šidí. Není to třeba. Obecně platí, že nejrychlejší binárky jsou obvykle větší, než středně rychlé.

    Miloslav Ponkrác
    15.6.2014 16:42 JoHnY3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Nasel by se nekde benchmark MSVC, GCC a idealne i ICC? Posledni co jsem videl bylo snad GCC 2.9 vs MSVC7.
    15.6.2014 17:33 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Určitě jich najdete na webu mnoho. V zásadě je třeba porovnávat porovnávatelné.

    GCC se hodně zlepšil, ještě před pár lety byla jeho optimalizace opravdu hodně špatná. Dnes už šlape na paty Microsoft C++.

    Ve všech banchmarkách je ale gcc za msvc. Intel je zase vždy rychlejší, než msvc, a v krajním případě i dvojnásobně – měřeno průměrnými benchmarky.

    Intel je velice dobrý v optimalizaci.

    Z praktického používání: Msvc je dobrý na hlášení chyb, je v tom mnohem lepší, než gcc.

    Ale potěšilo mě, že gcc udělalo v optimalizaci opravdu obrovský skok dopředu. Z trabanta před pár lety na Ferrari. Nicméně konkurence taky nespala, takže stále nikoho nepředběhl kromě clangu.

    Miloslav Ponkrác
    16.6.2014 11:12 Martin Mareš
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Ve všech banchmarkách je ale gcc za msvc. Intel je zase vždy rychlejší, než msvc, a v krajním případě i dvojnásobně – měřeno průměrnými benchmarky.
    Pozor, tohle je dost zkreslené použitou sadou benchmarků. O ICC se tuší, že jejich vývojový tým tráví obrovské množství času optimalizováním překladu standardních benchmarků, takže na reálných programech dopadne srovnání překladačů často jinak, zvlášť pokud nekompilujete pro procesor od Intelu, ale od AMD :)

    Mé osobní testy naznačují, že ICC je sice hodně dobré, ale že GCC ho v mnoha konkrétních případech předhoní. Zejména díky globálním optimalizacím, ve kterých se GCC za posledních pár let výrazně zlepšilo.
    15.6.2014 17:11 Marvin | blog: im_depressed | Gallifrey
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    By design má clang limitovánu rychlost výsledné binárky.
    Jak konkretne?
    15.6.2014 17:39 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Jakýkoli kompilátor, který si zafixuje mezijazyk je tímto omezen. Lépe se to programuje, ale kvalita výstupního kódu je tím limitována k horšímu.

    A pak záleží na vyjadřovací síle toho mezijazyka, jestli vymáčknutelné maximum při optimalizace je o hodně horší, nebo jen mírně nižší, než u kompilátorů, které toto nedělají.

    ---

    V zásadě existence gcc × clang startuje přesně to, co jsem před lety předpovídal, a za co je mi nadáváno.

    Komerční firmy, stejně jako řada vývojářů, nebudou podporovat GPL licencované projekty. Raději si založí vlastní konkurenční pod méně restriktivní licencí.

    Na clang se vrhla řada firem pro vývoj právě proto, že výsledek mohou použít ve svých projektech bez toho, aby projekt musel být také gpl.

    Ale přesto, že na clang je vrhnuto hodně peněz a vývojářské síly, stále ne a ne rychlostně ve výsledné binárce natrhnout gcc zadek. Protože, jak už jsme psal, architektura, která používá pevně zafixovaný mezijazyk, prostě nejlepší kód nikdy nevygeneruje. Vždy bude horší, než od kvalitního kompilátoru, který toto v architektuře neudělal.

    Miloslav Ponkrác
    15.6.2014 17:57 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Zkusil jsem teď svůj kód pro výpočet sady RMSD přeložit ještě pod clang. No, výsledky jsou fakt zajímavé:
    clang++ 3.4.1 : 1.84s
    g++ 4.7.3     : 2.60s
    icc 13.1.3    : 4.83s
    Ve všech případech byl kód přeložen s parametry -O3 -march=native (pro Core i7 3630QM).
    15.6.2014 18:30 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Jen neznalý člověk se může domnívat, že max. optimalizaci získá bez důsledného nastavení parametrů překladu.

    Čím je kompilátor schopnější v optimalizaci, tím citlivější je na parametry překladu. Vlastně je to důkaz dobře optimalizujícího kompilátoru, že nemá volby jen pro srandu králíkům a citlivě to na ně reaguje.

    Rychlost překladu je nepřímo úměrná kvalitě kódu. Proto defaultně dobré kompilátory moc neoptimalizují.
    15.6.2014 18:45 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Rychlost překladu je nepřímo úměrná kvalitě kódu. Proto defaultně dobré kompilátory moc neoptimalizují.
    Jinak doufám, že si s touto větou děláte srandu. Jako vtip je to dobré.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    15.6.2014 18:56 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Klidně mi nějakou kombinaci parametrů doporuč a já ji rád vyzkouším. Testovací program a data ti mohu poslat třeba na mail (jsou to jen čtyři soubory). Pár svých oblíbených parametrů jsem zkoušel, ale v podstatě bez efektu.
    15.6.2014 21:12 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    První inspirace:

    http://willus.com/ccomp_benchmark2.shtml?p3
    15.6.2014 21:19 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Tyhle základní flagy jsem už zkoušel - bez výrazného efektu. Zkusil jsem i nejnovější verzi icc (14.0.3), ale ta dopadla ještě hůře (5.19s).
    15.6.2014 21:14 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Ještě jednu poznámku: Řada kompilátorů je schopna optimalizovat nejen při kompilaci, ale také při linkování. Tedy zoptimalizovat celý program globálně na konci. U Microsoft C++ jsem to zkoušel, a běžně to hodí 10 % rychlosti nahoru u praktických testů.
    15.6.2014 21:32 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Myslíš -ipo? U icc 14.0.3 to stáhne na nějakých pět sekund. U té starší verze jsem nepozoroval rozdíl.
    16.6.2014 01:48 g.g
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Jestli pořád ještě na GCC funguje Acovea, možná si to můžete nechat vygenerovat sám. :-)
    16.6.2014 11:02 Jakub Galgonek | skóre: 3
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Vypadá to zajímavě, ale bohužel už docela zastarale/mrtvě.
    15.6.2014 18:21 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    A pak záleží na vyjadřovací síle toho mezijazyka, jestli vymáčknutelné maximum při optimalizace je o hodně horší, nebo jen mírně nižší, než u kompilátorů, které toto nedělají.
    LLVM i GCC pouzivaji IR zalozenou na SSA, ergo jejich moznosti optimalizovat jsou +/- stejne. IMHO kvalita vystupniho kodu je spis dana poctem clovekohodin, ktere byly do toho ktereho prekladace vlozeny.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    15.6.2014 18:26 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Znovu zopakuji klíčový termín z toho, co jsem napsal: „pevně definovaný mezijazyk“.

    Popřípadě upozorním na rozdíl mezi „pevně daný mezijazyk“ a mezijazyk, který je možné měnit.

    Nějakou formu mezijazyka má každý kompilátor, protože na nějaké formě mezijazyka se ta optimalizace provádět musí.

    ---

    Kvalita výstupního kódu samozřejmě závisí nejen na formě člověkohodim, ale také na fyzikálních zákonech a limitech architektury. Ne vše jde zlepšovat donekonečna dolarovými vycpávkami.
    15.6.2014 18:55 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Znovu zopakuji klíčový termín z toho, co jsem napsal: „pevně definovaný mezijazyk“.
    Uvedomte si, ze vase tvrzeni o nevhodnosti pevne dane IR jsou jen vase domenky, ktere vydavate za fakt.

    Ve skutecnosti IR LLVM je mnohem expresivnejsi nez v pripade GCC.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    15.6.2014 21:04 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Vy jste schopen popřít i to, že ráno vychází Slunce.

    Dejte si 2 zadání na překlad z češtiny do japonštiny.

    1) Zadejte překladatelské firmě, že chcete zajistit perfektní překlad z češtiny do japonštiny. Detaily necháte na nich, ať si to vnitřně zařídí jak chtějí. (Obdoba gcc.)

    2) Zadejte jedné překladatelské firmě, že chcete zajistit perfektní překlad z češtiny do eskymáčtiny. Zadejte druhé překladatelské firmě, že chcete zajistit perfektní překlad z eskymáčtiny do japonštiny. Máme zde pevný jazyk, na jehož neměnnosti trváme, v tomto případě eskymáčtinu. A pak ty dva překlady v simultánním tlumočení zřetězíme. (Odboda clang/llvm).

    Myslím, že i nepočítačový člověk jasně chápe, který překlad dopadne lépe, bude kvalitnější.

    Howgh.

    Dál už toto téma nebudu dokazovat, protože je to jasné jako facka. Myslete si o tom co chcete, uvidíme za pár let, až bude llvm pomalu přiznávat a poleze to z něho jako z chlupaté deky, že existuje limit optimalizace, který nejde z principu překročit tak, jak byl postaven.

    Miloslav Ponkrác
    15.6.2014 21:52 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    To je jako cist nejakou bibli, hromada metafor a fakta zadna.
    nepočítačový člověk jasně chápe
    Takto to chape asi nepocitacovy clovek. Nicmene realita je malinko jina, protoze i IR v GCC je de facto pevne dana (jen to mozna nevite), takze tady popirate vlastne sam sebe.

    Pocitacovy clovek vi, ze k ziskani dobreho vysledku jsou dulezite datove struktury a s nimi pracujici algoritmy. Jelikoz v LLVM i GCC se pouziva reprezentace zalozena na SSA, mnozina pouzitelnych optimalizacnich algoritmu je stejna.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    16.6.2014 01:04 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Analogicky: Protože nejrychlejší sprinter světa, stejně jako 90letá šouravá babka po osteoporóze používá pro pohyb stejný zpsob, který reprezentují „2 nohy“, pak z toho vyplývá, že oba lidé budou stejně rychlí.

    Přestaňte už s těmi hovadinami. Nedělejte ze sebe hlupáka, a chovejte se trochu inteligentně. Věřím, že jste chytrý člověk, jen zášť vůči mě z Vás dělá blba v diskusi.
    16.6.2014 01:36 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Kdyz nekdo placa blbosti a sve domenky vydava za fakta, neznamena to, ze mam vuci nemu zast.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    15.6.2014 21:08 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Ještě by se dalo dodat, že kdyby llvm architektura umožňovala lepší optimalizaci, tak už jí šupito presto začne používat jak Intel, tak Microsoft. Ale oni nemají tendenci se jí inspirovat a dobře vědí proč.

    Ale jak Intel, tak Microsoft se drží staré cesty, a optimalizují mnohem lépe, než open source kompilátory.

    Když už máte drzé čelo, proč tito velcí hráči nepřecházejí na clang/llvm princip? Odpověď zní, protože neumožňuje udělat tak dobrý kompilátor.
    15.6.2014 21:45 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Tohle přirovnání je sice logické a pravděpodobné, ale samo o sobě nic nedokazuje. Jde přeci pouze o to, které informace se ztratí při překladu do mezijazyka a které informace dokáže kompilátor v mezijazyku při optimalizaci zohlednit.

    Takže seriózním argumentem by bylo pouze porovnání těch mezijazyků a jejich dalšího zpracování u obou poropvnávaných kompilátorů.
    -- OldFrog
    16.6.2014 00:54 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Znovu. clang/llvm má pvně daný mezijazyk přímo jako součást standardu projektu. Když zjistíte jeho nedostatky, vylepšovat ho budete těžko.

    Gcc, bez ohledu na to, co je v něm DNES, nemá pevně daný mezijazyk. Jeho změna či úprava je možná, ač to bude bolet.

    Kromě toho, RTL v gcc je zaměřen na to, aby byl blízko strojového kódu, tedy co nejlépe optimalizovatlený.

    Naopak llvm má „llvm assembler“ poněkud dále od strojového kódu.

    ---

    Stejně tak stačí mezijazyky porovnat, trváte-li na tom:

    https://gcc.gnu.org/onlinedocs/gccint/RTL.html http://llvm.org/docs/LangRef.html

    ---

    Chápu, že se lidem strašně chce věřit, že jednou bude llvm stejně dobrý v optimalizacích jako gcc. Nebude. Clang/llvm nikdy gcc rychlostně nedožene, protože jeho mezijazyk není dělám proto, aby umožnil co nejlepší optimalizaci.

    llvm má mezijazyk jako standarndí rozhraní a jako jeden jazyk, který můžete používat. Llvm má v zásadě úplně stejnou konmcepci jako .NET nebo Java. Principiálně se tyto 3 projekty od sebe nijak neliší. Zavedli nějaký „assembler“, který je schopen chroustat. Vše ostatní musí zařídit kompilátory.

    A stejně tak jako Java, tak Microsoft, tak llvm nadšenci prohlašují a budou prohlašovat, že rychlostně překonají céčko a stroják, tak se tak nikdy nestalo a nikdy nestane.

    Už jenom proto, že mezijazyk je pevný a jeho účelem je umožnit jednoduchou kompilaci, optimalizace je druhořadá při návrhu toho mezijazyka.

    Ale když to řeknu naplno, llvm je kripl architektově a kripl možnostmi toho mezijazyka. A to se s ním ponese a nikdo to neodpáře.

    A už se k tomu nebudu dále vyjadřovat. Čas ukáže tuhle pravdu jasně.

    ---

    Miloslav Ponkrác
    16.6.2014 01:35 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    clang/llvm má pvně daný mezijazyk přímo jako součást standardu projektu. Když zjistíte jeho nedostatky, vylepšovat ho budete těžko.
    Kdyz se zjisti nedostatky v pripade IR u LLVM, tak se zmeni IR a vyda se nova verze a budou se muset upravit vsechny front-endy.

    Kdyz se zjisti nedostatky v pripade IR u GCC, tak se zmeni IR a vyda se nova verze a budou se muset upravit vsechny front-endy.

    Nejdete deset rozdilu.
    Kromě toho, RTL v gcc je zaměřen na to, aby byl blízko strojového kódu, tedy co nejlépe optimalizovatlený
    Uz jsme doma! Vite, pise se rok 2014 a GCC vypada uplne jinak, nez v minulem stoleti.
    Stejně tak stačí mezijazyky porovnat, trváte-li na tom:

    https://gcc.gnu.org/onlinedocs/gccint/RTL.html
    Bylo by dobre podivat se o kapitolu vys: https://gcc.gnu.org/onlinedocs/gccint/Tree-SSA.html#Tree-SSA

    Ale ja vam to vysvetlim, at se tu priste neztrapnujete: Kod je prolozen do interni reprezentace, ktera se oznacuje jako (GENERIC/GIMPLE), ktera je naprosto nezavisla na jazyku i cilove platforme (stejne jako v pripade LLVM), nad tim se dela spoooousta optimalizaci a pak je prelozena do RTL a az z toho se generuje binarka.
    Llvm má v zásadě úplně stejnou konmcepci jako .NET nebo Java.
    To je fakt hodne prehnane pripodoneni.
    llvm má mezijazyk jako standarndí rozhraní a jako jeden jazyk, který můžete používa
    LLVM ... odpovida back-endu gcc, clang ... front-endu v gcc. V cem je problem?
    optimalizace je druhořadá při návrhu toho mezijazyka.
    Zajimave... a pritom LLVM vzniklo puvodne jako vyzkumny projekt zamereny na optimalizace....

    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    16.6.2014 11:27 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Já nehájím žádný překladač, na mě pouze nepůsobí Vaše argumentace důvěryhodně. Okolnosti změny mezijazyka přece ještě nic nevypovídají o stávající rychlosti - možná tak o flexibilitě možných vylepšení optimalizace v budoucnu. Dokud bych si neověřil možnosti a omezení mezijazyka, tak bych Vám prostě nevěřil.
    -- OldFrog
    16.6.2014 20:09 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Gcc, bez ohledu na to, co je v něm DNES, nemá pevně daný mezijazyk.
    Aha, a GENERIC+GIMPLE se mažou na chleba, že...
    15.6.2014 22:03 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Ještě by se dalo dodat, že kdyby llvm architektura umožňovala lepší optimalizaci, tak už jí šupito presto začne používat jak Intel, tak Microsoft. Ale oni nemají tendenci se jí inspirovat a dobře vědí proč.
    Jako by se stalo. :-]] Ve skutecnosti GCC s verzi 4.0 presel na architekturu, ktera odpovida LLVM.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    16.6.2014 01:01 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Vidíte, dáváte mi zcela zapravdu.

    Gcc může přejít na jiný mezijazyk. Není to problém. Protože NENÍ NAPEVNO. Protože je možné mezijazyk změnit, vylepšit. A gcc to může udělat. Protože mezijazyk není API gcc kompilátoru. Po změně mezijazyka to uživatel gcc nijak nepozná navenek, jen to lépe optimalizuje.

    Kdykoli gcc může mít lepší mezijazyk, když zjistí, že ho potřebuje.

    Clang/llvm má mezijazyk jako součást API kompilátoru. Když ho bude chtít změnit, tak jedině tak, že llvm jako projekt zanikne jako celek. A pojede se od nuly jinde.

    Já sice chápu, že deda.jablko mě osobně nesnáší, a proto bude v opozici, i když tvrdím to samé co on, ale už to deda.jablko fakt přehání, a nemusím si také všechno nechat líbit. A protože nejsem zastánce útoků ad hominem a dělání ze sebe blbého, jako dělá deda.jablko, a nechci se snížit na stejnou úroveň diskusi, tak už na deda.jablko reagovat nebudu. Myslím, že jsem vše podstatné napsal.
    16.6.2014 01:49 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Vidíte, dáváte mi zcela zapravdu.
    Ne.
    Když ho bude chtít změnit, tak jedině tak, že llvm jako projekt zanikne jako celek. A pojede se od nuly jinde.
    Tohle je falesna dichotomie.
    Já sice chápu, že deda.jablko mě osobně nesnáší,

    To je nesmysl. Ve skutecnosti jste mi uplne lhostejny.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    16.6.2014 02:05 g.g
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    To je nesmysl. Ve skutecnosti jste mi uplne lhostejny.
    Vsadím se, že kdybyste ho nesnášel, řekl byste mu právě tohle, jen abyste ho naštval. :-D
    16.6.2014 01:52 g.g
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Nejsem si úplně jist (a rozhodně se v tom nevyznám :-)), ale nepoužívá GCC více mezijazyků už teď, čistě proto, že na různých mezijazycích se jednotlivé optimalizace dělají různě efektivně?
    16.6.2014 02:05 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    16.6.2014 11:07 Martin Mareš
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    A kdo vám nakukal, že celý překladač musí používat stejný mezijazyk? Například uvnitř GCC se jich používá vícero: RTL, Tree-SSA, GIMPLE, polyedrální reprezentace cyklů atd. Ani LLVM nic nebrání v tom, aby uvnitř některých optimalizačních průchodů změnilo reprezentaci programu tam a zase zpátky.

    Jak vás tak poslouchám, viděl jste vůbec někdy nějaký překladač uvnitř?
    17.6.2014 12:05 roman
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    No, vidim ze pan Ponkrac ukazal ze compilerum naprosto nerozumi. Ja jen doplnim, stejne jako ruzne "jazyky" ma gcc, tak ruzne jazyky ma i llvm.

    minimalne klasicke IR, SDAG, MInstr.

    To jen pro doplneni.
    15.6.2014 18:32 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: ACM SIGPLAN ocenila GCC
    „LLVM i GCC pouzivaji IR zalozenou na SSA, ergo jejich moznosti optimalizovat jsou +/- stejne.“

    Jinak doufám, že si s touto větou děláte srandu. Jako vtip je to dobré.

    Založit nové vláknoNahoru


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