Amikor Sylvestre úgy döntött, hogy újrafordítja a Debian csomagokat, akkor arra számított, hogy a clang-gel számos bugba és problémába fog belefutni. Ehhez képest pozitívan csalódott. Szerinte a clang elég stabil és jó ahhoz, hogy újra lehessen fordítani a Debian csomagok többségét, még akkor is, ha többnél szükséges kisebb módosítás a sikeres fordításhoz.
Sylvestre szerint a clang néhány éven belül akár alapértelmezett fordító lehet BSD-kben és Linux disztribúciókban.
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
Remek hír. Akkor hozzá lehet fogni a gcc gányolások kitakarításához. Persze ha ezt a Debian-nál megteszik és másutt nem akkor szép kis kavarodás lehet a forráskódok között.
- A hozzászóláshoz be kell jelentkezni
Ha ilyenhez áll neki a debian, akkor úgyis patchként szállítja az upstream mellé...
- A hozzászóláshoz be kell jelentkezni
Csak én félek a Debianos patchektől? :)
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Ahahaaaa
- A hozzászóláshoz be kell jelentkezni
Igen tudom, de a kollégák reakciói elárulják a lényeget. :-)
- A hozzászóláshoz be kell jelentkezni
Sylvestre csak a fordítási időből indult ki. abban valóban gyorsabb a clang a gccnél. de a lefordított binárisok közül már a gccvel fordított a gyorsabb. márpedig ez utóbbi jóval fontosabb, mint a fordítási idő.
- A hozzászóláshoz be kell jelentkezni
Szeretem az univerzalis igazsagokat, segitenek elviselheto szintre csokkenteni a valodi vilag tulzott bonyolultsagat.
--
zsebHUP-ot használok!
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Úgy általában igazad lenne, de jelen esetben viszonylag könnyű gcc clang benchmark összehasonlításokat találni a neten, és a tesztelt programok nagy többsége a gcc-vel 5-10%-kal gyorsabb.
Tehát a fenti állítás sem rosszabb, mint hogy az icc általában gyorsabb kódot generál mint a gcc.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Nem, ezek a kijelentések egyszerűen tévedések. Valóban könnyű teszteket találni, és az eredmény legalábbis vegyes. prygme nagy bölcsessége kb. 3 éve fedhette a valóságot, vagy már akkor sem.
- A hozzászóláshoz be kell jelentkezni
Hat anno amikor szantog bemutatta, mikre [nem] kepes a clang (pl. egynel tobb regisztert hasznalni egy ARM prociban) akkor ket dologban ingott meg a hitem:
- hogy nem kell tobbet assembly-vel foglalkoznunk, a c fordito elintezi
- hogy a clang egy erett fordito, ami alkalmas mobilalkalmazas-fejlesztesre
Lehet hogy 2011 majusa ota valtozott a helyzet, de akkor es ott nem gondoltam azt hogy jo otlet volt az apple-nek osszeveszni gcc-ekkel.
- A hozzászóláshoz be kell jelentkezni
Jo otlet volt.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
nem "veszett össze" az Apple a GCC fejlesztőkkel, csak arról volt szó, hogy az Applenek stratégiájában központi szerepe van az ObjectiveC nyelvnek, még a GCC fejlesztésénél ez csak alacsony prioritást kapott.
- A hozzászóláshoz be kell jelentkezni
sikerült olvasás nélkül belinkelned egy phoronix cikk egyik oldalát.
pedig ha el is olvastad volna a teljes cikket tudhatnád, a DragonEgg GCC számára nyújtott előnyeiről szól. egyetlen tesztben bizonyult csak elsőnek a Clang, az összes többiben vagy DragonEgg+GCC ill DragonEgg+GCC+-fplugin-arg-dragonegg-enable-gcc-optzns opció, vagy a mainstream GCC volt a legjobb.
természetesen az a szempont sem hagyható figyelmen kívül, hogy a Clang csak négy programnyelvet támogat két architektúrán, ill három ha az AMD64et külön számoljuk. ezzel szemben a GCC több mint 10 programnyelvet támogat ~50 architektúrán.
így még jó ideig zero esélye van annak, hogy a Clang alapértelmezett fordító lehessen a nagyobb Linux disztribúciókban.
- A hozzászóláshoz be kell jelentkezni
Es kulonosen pikansa teszi a szitut, h az llvm-bol vett optimizer a gcc altal generalt kodon jobban teljesit, mint a gcc sajatja alapbol. Ez a kulonbseg ledolgozhato es jo utemben haladnak efele.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Még érdekesebb kérdés, hogy ugyanez az optimizer vajon miért nem teljesít ugyanolyan jól clang frontenddel...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Valoszinuleg azert, mert a clang kozteskod generatoran meg van mit csiszolni es azon nem hoz annyit a dragonegg, mint a gcc altal eloallitotton, nem veletlen volt egy jo ideig a gcc az llvm frontend. Az mar egy eleg jo fel siker, h az llvm-ben levo optimizer viszont jobban teljesit, mint a gcc-e, igy mar elsosorban csak a c/c++/objc compileren kell huzni egy kicsit. A logok szerint rajta vannak a sztorin.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Ja értem, tehát ha a cikk a dragonegg-et mutatja be, akkor a clang rész érvénytelen. A ferdítés is kurvajól megy, mivel nem első helyről beszéltünk, hanem GCC vs. Clang teljesítményről ("a lefordított binárisok közül már a gccvel fordított a gyorsabb", mondod te), és konkrétan 4 esetben veri meg a Clang a GCC-t, a többi esetben pedig (egy kivétellel, ami szinte biztosan bug) totál elhanyagolható a különbség.
Az meg kurvára mindegy, hogy a gecicé hány arch-ot támogat (ami pont a hátránya a sok, évtizedek óta magával cipelt fos miatt), ha a clang által támogatott 2 arch lefedi a piac 99%-át. A maradék 1%-kal (a "futottak még" kategória) meg kitörölheted a segged.
- A hozzászóláshoz be kell jelentkezni
"Az meg kurvára mindegy, hogy a gecicé hány arch-ot támogat (ami pont a hátránya a sok, évtizedek óta magával cipelt fos miatt), ha a clang által támogatott 2 arch lefedi a piac 99%-át. A maradék 1%-kal (a "futottak még" kategória) meg kitörölheted a segged."
Az llvm nem pont azért jó, mert különválasztja a forráskód fordítását a konkrét architektúrára való bináris előállításától? Azaz ha kell egy új arch, akkor annak támogatását nem kell minden nyelvhez külön megírni, hanem megírom egyszer, és minden nyelvvel működni fog.
- A hozzászóláshoz be kell jelentkezni
Igazából tökmindegy, hogy hol és mit kéne bővíteni, a lényeg, hogy az x86 és ARM támogatva van, és ez bőven elég.
- A hozzászóláshoz be kell jelentkezni
AFAIK de. Meg hogy az optimalizert is elég egy nyelvhez megírni.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Akkor a gcc-vel fordított clang gyorsabban fut de lassabban fordul, mint a clang-gal fordított clang?
- A hozzászóláshoz be kell jelentkezni
A nap beszólása/aranyköpése!!!!
- A hozzászóláshoz be kell jelentkezni
Tied a Nobel-csont!
- A hozzászóláshoz be kell jelentkezni
Továbbgondolva, clang-gal kell fordítani a gcc-t, amitől az még lassabb lesz. Ez a tesztekben még jobban kiütközik, így a gcc-fejlesztők elkezdenek végre a fordítási idő sebességének javítására gyúrni, aminek eredményeképp még nagyobb bugokat építenek a fordítójukba. És ekkor a világ elfelejti végre a gcc-t.
- A hozzászóláshoz be kell jelentkezni
mi bajotok a gccvel?
- A hozzászóláshoz be kell jelentkezni
Nem értenek hozzá/nem is akarnak.
Pontscho meg mintha macfag lenne :-)
- A hozzászóláshoz be kell jelentkezni
Nyilvan csak es kizarolag ez lehet az oka, hogy ez elobb nem jutott az eszembe basszus!!1111elevenhold
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
látod, megéri itt flémelni!!!!1.emelet
- A hozzászóláshoz be kell jelentkezni
Mint ami a legtobb opensource takolmannyal: not the right thing.
- A hozzászóláshoz be kell jelentkezni
Kicsit más téma, de nézzétek meg a binutils forráskódját. Főleg a bfd.h-ban a bfd_vma és a bfd_boolean kommentjeit.
Meg az addr2line forrását, hogyan alkalmaz globális változókat oda, ahova nem kéne, mert könnyen megoldható lenne anélkül is...
Csak mert mostanság ezen fogtam a fejem, mert libbfd programozásra vetett engem a sors keze...
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Viszont fejleszteni clanggal erdemes, gcc egy fapados hulladek ahhoz kepest. Ha kell az a kraft a ket compiler kozotti kulonsegbol adodoan ami jelenleg meg a gcc mellett szol (ez a differencia is durvan kezd az elhanyagolhato savba esni es/vagy megfordulni, a 3.0final mar teljesen korrekt) akkor a final buildet gcc-vel forditom es amen. Remelem a clang/llvm/csa trio vegre levaltja a gcc-t es az a veszelyes hulladek oda kerul ahova valo.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
az a veszelyes hulladek oda kerul ahova valo
Nem fűznek érzelmi szálak a gcc-hez, de mi ez a harag? :) Bele kellett nézned a forrásába? :)
- A hozzászóláshoz be kell jelentkezni
A remek minosegu generalt kod, a jo minosegu parser es a hibatlan, jol mukodo debugger kozos munkajara volt szukseg ahhoz, h kialakuljon nemi utalat. Mert amelyik stabilnak kikialtott compiler meg a htons() makrot sem kepes konzisztensen hibatlanul leforditani az menjen a fenebe. :)
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
miért nem küldted be a bug trackerbe?
- A hozzászóláshoz be kell jelentkezni
Mert az ujabb verziokban ez mukodott, azokban mast kurtak el, masreszt idom kimelese vegett inkabb valtottam egy jobb - bar multi altal tamogatott, de szinten opensource - compilerre. Ismerven az altalaban vett opensource projecteknel mukodo customer service minoseget, ez a verzio nagysagrenddel jobb hatasfokkal kecsegtetett.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Korrekt, köszi.
- A hozzászóláshoz be kell jelentkezni
A hibák 1/3-a hiányzó szimbólumokról szól.
Ez most a csomag vagy a clang hibája?
- A hozzászóláshoz be kell jelentkezni
Nem, ez az alma vs. körte esete. Az egyik fordítóval C89-el, a másikkal C99-el fordítanak, nem meglepő, hogy elromlik. Legalább azonos standard szerint illene felparaméterezni a két fordítót.
- A hozzászóláshoz be kell jelentkezni
Jól jönne ez a vérfrissítés. Jó ez a gcc, de iszonyatosan patkolt már. Megérett egy méltó örökösre. Sok sikert.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
Ez az egész arra emlékeztet, mikor a TFT-k megjelentek és mindenki szidta őket, hogy mekkora szar képük van (kezdeti TN+Film, ugye), aztán valamiért mégiscsak továbbfejlődtek és kisöpörték a CRT-ket ;)
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Mindig jön egy új. A csúcson maradni meg elég nehéz: "...a győztes sokkal fáradtabb..." (Az LGT valamelyik nótájából.)
- A hozzászóláshoz be kell jelentkezni
Persze, csak az emberek mindig meglepettek, hogy az új kihívó szinte sosem jobb elsőre, egyből a fejlesztés nulladik lépésétől, mint azt, amit csillió éve reszelnek. De ugyanez megvan több másik területen.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Es ez igy is van rendjen. Ha mindig minden uj megoldast elfogadnank, akkor egy sem terjedhetne el annyira, hogy kiforrotta valhasson.
- A hozzászóláshoz be kell jelentkezni
Ez a gondolkodásmód talán a rohanó, elkényelmesedett korunk terméke. Gyorsan, ingyen a legjobbat. :-(
- A hozzászóláshoz be kell jelentkezni
Off: nem LGT, Zorán (persze a zeneszerző és a szövegíró közös, de az most lényegtelen)
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni