Diit.cz - Novinky a informace o hardware, software a internetu

Diskuse k Google Chrome kompilovaný Clangem je o 8 % menší

Co ma kompiler spolocne s tym ci sa binarka da alebo neda spustit na starsom 32bit Debiane ? Kompiler produkuje x86 instrukcie a pokial sedi format (elf) a kniznice tak sa to musi spustit. Ci to bolo myslene tak ze Clangom sa zatial produkovali iba novsie 64bit verzie Chrome ktore na 32bit Debiane nejdu? V texte je to nejednoznacne. Rychlost nacitania pri mensej binarke je relativna. Casto sa to pouziva ako argument ale aj relativne velky kod ako v pripade chrome (pozeram ze na wine okolo 32MB dllka) sa z disku v dnesnej dobe nacita raz dva.
A dost odveci nazyvat prechod na Clang vyhodnym z politickeho hladiska. Vyhody su hlavne v lepsich chybovych hlaseniach, vyuzitie na staticku analyzu, rychlejsie kompilovanie a tak isto jednotny optimalizer pre rozne jazyky ktore su nad LLVM.

+1
+5
-1
Je komentář přínosný?

neviem co s tym ma kompilator spolocne, ale zjavne nieco na tom bude. Napriklad programy kompilovane vo visual studiu 2012 sa nedali spustit vo windowsXP. Dalo sa to az po instalacii update1 pre visual studio. (vo win2000 nejdu binarky spustat uz tusim od vs2010)

+1
-3
-1
Je komentář přínosný?

Asi sme sa uplne nepochopili. Samozrejme ze ked kompiler generuje novsi kod, respektive pre moderne cpu alebo pouzije volania ktore v starsom os niesu tak nepojde spustit (aj ked potom by som sa neodvolaval na to ci je 32bit ale skor na verziu OS). Len z toho clanku to vyplinulo ako keby som zobral 32bit binarku chrome a na starsom 32bit debiane ju nespustim ale na hocijakej inej distribucii z daneho obdobia hej. V takom pripade mi to pride skor ako chyba niekde v debiane ako v kompileri. Proste mi to prislo nejednoznacne napisane.

+1
-6
-1
Je komentář přínosný?

Vysvětlení problému Clangu s 32bit debianem najdete na http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-November/039929.html http://llvm.org/bugs/show_bug.cgi?id=21414

This is due to clang making assumptions about alignment that aren't true on 32-bit in practice

+1
+7
-1
Je komentář přínosný?

Ono nejde jen o debian. Ono jde o to, ze Intel implementoval "nove" (tehdy) instrukce ktere potrebuji lepe zarovnane operandy a jeste 8 let pote se nepodarilo v praxi prosadit, aby vsichni pouzivali tohle "lepsi" zarovnani. Protoze to vyzaduje znovu prelozit veskery software.

Klika, ze na amd64 to zarovnani bylo lepsi od zacatku.

+1
+3
-1
Je komentář přínosný?

Všichni by udělali líp, kdyby namísto fundamentalistických GNU GPL věcí začali používat skutečně svobodný software BSD, Apache, MIT nebo i komerční licence.

Takhle čekáme až zase Stallmanovi rupne v bedně a vymyslí si, které že to nové použití odporuje jeho vidění lásky na světě.

Bianco šek, který někteří programátoři podepisují s ohledem na formulaci: licenced under "this licence or any later version published by the Free Software Foundation." je pole mě naprosto skandální a nepřijatelný.

Softwaru pohybujícího se směrem od GNU GPL jinam bude podle mě jen přibývat.

Nehledě k tomu, že LVVM/clang je podstatně modernější architektura kompilátoru s celou řadou technických výhod.

+1
-8
-1
Je komentář přínosný?

Verzi licence si můžeš v licenčním ujednání "fixovat", hodně balíků to při příchodu třetí verze GPL udělalo. Každopádně pokud si tam necháš (nebo někdo nechá) "GPL v2 and any later version", může se software šířit stále podle licence v2 i v případě, kdyby například byla v4 absolutně nepřijatelná, tzn. o práva plynoucí ze současné licence nemůžeš (jako programátor i uživatel) přijít.

Nejhorší, co se může stát, je to, že nová verze licence přidá některá práva, která v současné licenci nejsou - například (směrem k BSD licenci) přidá uživateli možnost použít daný kód bez povinnosti dodat zdrojový kód nebo vydat výsledek pod jinou GPL-nekompatibilní licencí.

+1
+1
-1
Je komentář přínosný?

No ta možnost, že je možné "použít daný kód bez povinnosti dodat zdrojový kód", což v praxi znamená použít ke komerčním účelům, je naopak žádoucí a rozhodně ne nejhorší možnost. Teprve licenci, která to umožní považuju za skutečně svobodnou.

Svoboda je i to, jestli programátor chce zveřejnit zdroják nebo ne.

Jinak v licencích je stran více. Původní programátor, programátor který navazuje a přispívá a vytváří finální produkt a uživatel. Všechna práva by měla být respektovaná.

+1
-6
-1
Je komentář přínosný?

Tím "nejhorší možnost" jsem nemyslel, jak moc je která varianta žádoucí, ale jaká největší změna se může po vydání novější verze GPL stát u projektů, které formuli "GPL verze 2 a pozdější" používají.

Ta formulace je tam prakticky proto, aby autor odvozeného díla dostal novou pravomoc - své odvozené dílo může vydat pod licencí GPL s vyšší verzí, než je původní software, aniž by to musel nějak diskutovat s původním autorem. V praxi se to může stát například v případě, kdy vezmu knihovnu, která je GPLv2 (a pozdější), udělám z ní webovou aplikaci a tu chci vydat pod GPL v3 (a nikoli v2), protože GPLv3 obsahuje některé věci, které mi přijdou zásadní.

Jinak co se týká "svobodnosti" jednotlivých licencí: Osobně si myslím, že "nesvobodnost" GPL je natolik zásadní, že mění celý (softwarový) svět k lepšímu. Ačkoli to určitě není nejsvobodnější licence, její využití má důsledky, kvůli kterým stojí za to ji používat.

+1
+13
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.