LLVM 2.7

Címkék

Az Apple részéről Chris Lattner tegnap bejelentette a Low Level Virtual Machine (LLVM) névre hallgató fordítóprogram infrastruktúra 2.7-es verzióját. Az LLVM projekt 2000-ben indult útnak Vikram Adve és Chris Lattner irányítása alatt a University of Illinois at Urbana-Champaign berkeiből. 2005-ben az Apple alkalmazta Lattner-t, és egy csapatot hozott létre annak érdekében, hogy az fejlessze az LLVM-et, amelyet a vállalat felhasznál különböző termékei fejlesztéséhez. Az LLVM-et BSD-stílusú licenc (University of Illinois/NCSA Open Source License) feltételei alatt adták ki. Az LLVM jelenleg szerves részét képezi az Apple által a Mac OS X és iPhone fejlesztéséhez használt fejlesztőeszköz-készletnek.

Jelen kiadás körülbelül fél évnyi fejlesztés eredményeit tartalmazza. A bejelenés szerint a 2.7-es verzió több nagyobb fejlesztést és új szolgáltatásokat is hoz a 2.6-os verzióhoz képest. A bejelentés szerint az egyik legizgalmasabb újdonság, hogy a Clang (az LLVM C frontend-je) mostantól self-hosting, azaz képes saját magát lefordítani.

A részletek a bejelentésben.

Hozzászólások

várható hozzászólások:

- "gcc jobb"
- "gcc sux"
- "minek még egy fordító?"
- "drága a mekbúk!"

nem nagyon várható advanced technológiákhoz ott érdemi hozzászólás, ahol nézetkülönbség maximum abban szokott lenni, hogy melyik a jobb a zubuntu vagy a gentoo nevű gcc-használó kövület OS-ek közül, vagy hogy az ext4 vagy a btrfs-e a "jövő" filerendszere, miközben már régóta de facto cross-platform szabvány a zfs, a vezető smartphone-okra pedig több mint 3 éve llvm-mel forgatják a mach/bsd-t

"gcc-használó kövület OS-ek közül"

Látom továbbra is folytatod a korábban megkezdett dolgaidat. Mondjuk nagyon nem lepődtem meg. :)

"de facto cross-platform szabvány a zfs"

Melyek ezek a platformok?

"a vezető smartphone-okra pedig több mint 3 éve llvm-mel forgatják a mach/bsd-t"

Melyek ezek a "vezető smartphone-ok"?

> Látom továbbra is folytatod a korábban megkezdett dolgaidat.

én is konzisztens embernek tartom magam, ámbár szerintem ez előnyös tulajdonság kaotikus világunkban :)

> Melyek ezek a platformok?

solaris, opensolaris, freebsd, netbsd, mac os x, laughablefuse

> Melyek ezek a "vezető smartphone-ok"?

iPhone

de ez mind common knowledge, nem tudom mit szeretnél :(

> Melyek ezek a "vezető smartphone-ok"?
iPhone

de ez mind common knowledge, nem tudom mit szeretnél :(

Mondjuk, hogy legalább próbálkozz meg a magyar nyelvben eléggé alapvető egyes szám - többes szám egyeztetéssel. Előbb-utóbb fog az menni, hidd el.

http://gpsforum.hu - Navigációról szájkosár nélkül

> Melyek ezek a "vezető smartphone-ok"?
iPhone

Ha szerinted ez így teljesen rendben van, szerintem válassz más anyanyelvet mert a magyar láthatóan túl nehéz neked.

Helyesen pl "iPhone modellek" vagy "iPhone készülékek", esetleg "iPhone-ok" lehetnek "vezető smartphone-ok", az iPhone így egyes számban max vezető smartphone lehet. Általános iskolai nyelvtan tanárodat meg csókoltatom.

http://gpsforum.hu - Navigációról szájkosár nélkül

"én is konzisztens embernek tartom magam, ámbár szerintem ez előnyös tulajdonság kaotikus világunkban :)"

A konzisztens viselkedés valóban. Viszont a kekeckedő provokátorokkal már tele a padlás. Menj politikusnak! :)

"solaris, opensolaris, freebsd, netbsd, mac os x, laughablefuse"

A MacOSX-et leszámítva melyik az a platform, ami penetrációban meg tudta előzni azt a Linux nevű "őskövületet"?

"iPhone"

http://hup.hu/cikkek/20100428/llvm_2.7#comment-1010632

Ha nem esett volna le, akkor arra próbáltam utalni, hogy lehet a zfs cross-platform szabvány, ha egy másik fájlrendszert többen használnak és itt most nem elsősorban ext4-re gondolok, hanem akár ntfs-re is. Nem kell többet belemagyarázni a dologba, mint amennyi benne van. Érdekes módon az iPhone-os baromsága Magdinak nálad sem verte ki a biztosítékot. Erről ő is és te is mélyen hallgatsz, de tudod mit, belefáradtam már itt pár emberrel "civakodni", úgyhogy hagyjuk!

Ez az ZFS for Mac OS X projekt, amit az Apple bezárt tavaly, a levlista helyét sóval behintette, ami sosem volt teljes értékű, abból is kivették, amiben benne volt, amit zealotok megpróbáltak átmenteni a Google Code-ra és amelyiknek a legnagyobb "fejlesztései" közé tartozik napjainkban a "Milyen ikonja legyen a ZFS drive-nak"?

Vagy esetleg lemaradtam valami új fejleményről?

--
trey @ gépház

remek állítás, egyetlen aprócska gubanc akad csak: hogy globális érvényű kijelentésedet kevéssé alátámasztva maximum linux alatt használtad a jelzett filerendszert, de egyéni tippem szerint ott sem, legalábbis a btrfs reportok között nem emlékszek hogy olvastam volna zfs-t is.

véleményedet azért köszönjük, eddig csak sejtettük hogy linux alá nem sikerült a mai de facto szabvány fs-t implementálni, ezekszerint ez tény. ez egyébként llvm topic.

OSX+ZFS, ahogy trey is jelezte, meg sem született egészen és már meg is halt.

"solaris, opensolaris, freebsd, netbsd"
Ez az a 4 platform ami valójában 2.

"laughablefuse"
Ja, akkor mondok én is egy "de facto cross-platform szabvány"-t: NTFS

:)

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

A két Solaris-t és a két BSD-t nem tekintem külön platformnak.
Ha az lenne, akkor az összes Windows, illetve kis túlzással minden Linux distrib külön platform lenne.

Persze ezen vitázhatnunk, de igazából baromira nem érdekel.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

baromira offtopic:

Hat az, hogy a ket Solarist nem tekinted kulonbozo platformnak, meg valahol elfogadhato (*relative* friss a kulonvalas), de hogy a ket BSD-t se, az annyit jelent, hogy te nem kulonbozteted meg magad egy lotol. emlos-emlos. De hogy jobban hasonlitson a dolog, tr3w es csimpanz. Jo reg voltak kozos osok, de ma mar nem csak elvben kulonboznek. De tenyleg folosleges ezen vitatkozni. Esetleg definialni kene, hogy mekkora peccs eseten tekintjuk egy "A" Linux disztrib kerneljet masiknak, mint egy "B" disztribucioet. Ugyanis a FreeBSD / NetBSD kozos ose valami 20+x eve volt, mig a Linux disztribek mindig ugyanazt a kozos 1-2-3 eves kernelt peccselik.

Es igen: a te megjegyzesedben butasag volt, az enyimben szemelyeskedes.

"Esetleg definialni kene, hogy mekkora peccs eseten tekintjuk egy "A" Linux disztrib kerneljet masiknak, mint egy "B" disztribucioet"

Igen, erre céloztam, de nem csak Linux kapcsán.

Mivel a NetBSD-sek szerint "NetBSD has binary compatibility for FreeBSD" ezért nehezen tudom teljesen külön platformnak tartani a kettőt.
Ha nagyon akarjátok persze engem nem zavar, de akkor kb az összes windows verzió külön platform, és minden FS amit ezek támogatnak cross-platform FS.

Ettől egyébként teljesen függetlenül az eredeti "cross-platform de facto szabvány a ZFS" kijelentés baromság.

A személyeskedés meg nem zavar, többnyire szórakoztat, és mindig többet árul el arról aki írja, mint akiről írják.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

> Mivel a NetBSD-sek szerint "NetBSD has binary compatibility for FreeBSD" ezért nehezen tudom teljesen külön platformnak tartani a kettőt.

NetBSD-n (többek között) Digital Unix és Amiga Unix binárisok is futnak, ez mit mond el neked?

> Ettől egyébként teljesen függetlenül az eredeti "cross-platform de facto szabvány a ZFS" kijelentés baromság.

érveid mindent elemésztő áradata alatt nyögünk :)

> Mivel a NetBSD-sek szerint "NetBSD has binary compatibility for FreeBSD" ezért nehezen tudom teljesen külön platformnak tartani a kettőt.

Fenti felvetesed alapjan:

- a Linux es az SCO egy platform, mert a Linuxnak van (bar mintha nagyon mar nem hasznalnak) SCO-compatibility resze (*)
- a Linux es a FreeBSD egy platform, mert a FreeBSD-nek van Linux-compatibility resze.
- a zzzBSD es a XXX egy platform, mert zzzBSD-nek letezik XXX-re irt applikacio futtatasahoz alkalmas XXX-compatibility resze

ezek itt fent mind mind kernelben megvalositott (opcionalisan elerheto) eszkozok.

( - es ugye az eredeti NetBSD = FreeBSD)

Mar csak azt nem latom, hogy akkor fenti OS-eket hogyan kene hivni. SCO UNIX-nak, Linux-nak, NetBSD-nek, FreeBSD-nek - netan XXX-nek.

Az eredeti ZFS-re azert nem reagaltam, mert: nem hasznalok ZFS-t, nem hasznalok OSX-et, nem hasznalok szifont, igy nem erzem ugy, hogy relevans lenne a velemenyem.

Vegul a szemelyeskedes: meselj, mi jot lehet rolam megtudni azaltal, hogy egy butasagra valaszul egy elegge ronda hasonlattal probaltam erzekeltetni, hogy az eredeti felvetes mekkora marhasag volt?

(*) ha veletlenul mar kihajintottak volna a vanilla kernelbol a SCO-compatot, akkor is egy platform, hisz regebben volt, azota meg ugye csak peccselik a kernelt.

Ui: ja es mintha remlene a (nem-tul-tavoli) multbol valami olyasmi, hogy IBM-ek beerositenek, es konnyebbe teszik a Linuxra irt progik futtathatosagat AIX-en. Meg ilyesmi Solarison, esetleg HP-UX-on. Akkor ezek is egy platform? (Jo, ha csak ujraforditasrol van szo, esetleg egy wine-szeru eszkozrol, akkor nem.)

Nem mindegy, hogy kompatibilitási réteg, vagy sem. De felőlem lehet igazad. Ez már régóta csak szájkarate.

"Vegul a szemelyeskedes"
Ezt nagyon a lelkedre vetted, pedig csak általánosságban beszéltem. Igazából a "személyeskedésed" messze nem érte el az ingerküszöbömet. Hozzászólásod érzelmi töltete azért elárulja, hogy valamelyik BSD közel áll a szívedhez.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

Akkor még egyszer a véleményem:

Te azt mondtad, hogy a ZFS de facto cross-platform szabvány.

Kérdés: általában cross platformnak hívunk-e egy programot ami FreeBSD és NetBSD-n fut? Következő kérdés: Cross-platform-e egy program ami Solárison és OpenSolárison fut? Harmadik: Windows XP-n és Windows Vista-n fut?

Zahy szerint az első páros (talán a második is) külön platform. Szerintem ezzel a gondolatmenettel a két Win is az. Ezen rugózhatunk, de ettől kicsit független az, hogy általában mit nevezünk cross-platformnak. Véleményem szerint mind a 3 kérdésre nem a válasz.

Egyébként ettől függetlenül a ZFS cross-platform, mert pl a Solaris meg a FreeBSD tényleg annyira különböznek, hogy ez nem kérdés. De azért árnyalja a dolgot, hogy mi volt az az 5 amit felsoroltál...

A kijelentésed másik fele szerint a ZFS de-facto szabvány. És ennek szerinted semmi köze a támogató platformok market-share-jéhez. Ez annyira blődség, hogy nem is tudok erre mit mondani.

Részemről Over & Out.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

-rwxr-xr-x 1 root root 24678950 Apr 28 02:24 vmlinux.clang
-rwxr-xr-x 1 root root 24730156 Apr 27 22:53 vmlinux.llvm-gcc

ebbol az elso meg nem bootol, de azert egesz jol alakul ;).

Konstruktív hozzászólásnak esetleg össze lehetne gyűjteni, hogy kik és mire használják az LLVM-et.

Pl.:
1. Google féle CPython reimplementáció: http://code.google.com/p/unladen-swallow/
2. Adobe Flash iPhone Packager - sajnos úgy tűnik, hogy nem fogjuk a gyakorlatban használni, ettől még egy szép projekt

Itt volna az ideje egy ujabb osszehasonlitasnak, olyanak aminek en is hiszek. Magam hamisitom :)
Ha szerencsem van a hetvegebe bele fer.

Szerk:
A fenebe, elfelejtettem, hogy a hetvegen mas dolgom van. :(

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

A Phoronix megtette.

Engem 3 dolog is meglepett:
- a clang fordításban nem gyorsabb annyival mint amit a hype alapján vártam.
- az LLVM érzékeny a frontendre: Az LLVM-gcc és a clang sok esetben nem adott egyforma eredményt
- bizonyos tesztekben az LLVM jobban teljesített a gcc-nél.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

No ez mar egy erdekes eredmeny, bar nalam ez a mondat kicsapta a biztositekot:
"Clang had not worked with John The Ripper, but with LLVM-GCC its performance was dismal compared to GCC 4.5.0. The 23-year-old compiler was 60% faster than LLVM-GCC." Szoval a GCC-4.5.0 23 eve keszen van. Ertem en mit akar mondani, de a megfogalmazas okorseg.