A minap (pár hete) ellenőriztem a CCC installálását különféle rendszereken, azaz szakmányban végeztem C fordítást. A fordítás sebességében elég nagy eltérések adódtak, azért azt gondoltam, érdemes csinálni egy összehasonlító táblázatot. Íme:
system real user
Fedora 20 PAE Qemu gcc.4.8.2 0m56s 0m27s
Arch 64-bit Qemu gcc.4.8.2 1m50s 1m27s
FreeBSD 10.0 64-bit Qemu clang-3.3 2m17s 1m37s
CentOS 6.5 64-bit Qemu gcc-4.7.7 2m13s 1m41s
Debian Wheezy 64-bit Qemu gcc-4.7.2 2m16s 1m47s
Ubuntu Precise 64-bit natív gcc-4.6.3 2m37s 1m55s
Ubuntu Saucy 64-bit Qemu gcc-4.8.1 2m43s 2m01s
NetBSD 5.1 64-bit Qemu gcc-4.1.3 2m40s 2m09s
SUSE 13.1 32-bit Qemu gcc-4.8.1 2m45s 2m14s
NetBSD 6.1 64-bit Qemu gcc-4.5.3 2m56s 2m18s
FreeBSD 8.4 64-bit Qemu gcc-4.2.1 10m12s 2m21s
A tesztben összesen 660 darab object fájl készült, aminek kb. 2/3-a volt generált (Clipper->C++) kód. Ezekből 124 darab végrehajtható program linkelődött.
A táblázat jobb oldali oszlopa a user time-ot mutatja, méghozzá 3 egymás utáni futtatásból a legjobbat. A user time növekvő sorrendjében vannak rendezve a sorok.
Megjegyzések:
1) Érthetetlen és hihetetlen, hogy a Fedora 20 (-on futó gcc) hogy lehet ennyivel gyorsabb a többinél. Viszont akárhányszor megismétlem a mérést, mindig ez jön ki. (Nincs véletlenül kihagyva a teszt egyik része sem. A keletkezett objectek újak és működőképesek.)
2) Az Arch jó eredményét viszont nem tudom reprodukálni. Az utólagos ellenőrzés során az Arch visszacsúszott a középmezőnybe. Újrainstalláltam, akkor is. 64 bit helyett 32 bites installáció, akkor is. A táblázatban az elsőre mért jó idők vannak.
3) A FreeBSD 10.0 a clang miatt gyorsabb az átlagnál.
4) Az egész teszt az Ubuntu Precise gépemen futó qemu-kvm-ben folyt. A natív Precise-on kapott idő a középmezőnyben van.
5) Negatív rekord a FreeBSD 8.4 kiugróan rossz real futásideje. Már a teszt indulásakor végzett clean (bele volt mérve a tesztbe) érthetetlenül lassú.
Következtetés:
Nem vonnék le semmilyen következtetést a fentiekből. Az Arch példája azt mutatja, hogy általam nem ismert körülmények szerencsés együttállása (vagy együtt nem állása) gyökeresen megváltoztathatja az erdeményt. Például nagyon valószínűnek tartom, hogy más installációkon a Fedora sem körözné le ennyivel a mezőnyt.
Szerk: Kiegészítve a CentOS 6.5-tel. Semmi meglepő.
Hozzászólások
Engem az a qemu kicsit zavar a történetben.
Nem lehet, hogy az kavart be valamit?
Egyáltalán, ebben az esetben mire vonatkozott?
A másik: azért az sem mindegy, milyen kapcsolókat használsz fordításkor (utolsó emlékeim szerint az optimalizáció szintje befolyásolja a sebességet leginkább, de ez már nagyon rég volt), ezekkel mi volt a helyzet?
ui: lehet, hogy valamit totálisan félreértek az egészből?
Az összes rendszer (a precise kivételével) qemu virtuális gépen futott. A precise-on mért idő ezért kakukktojás. Elvileg gyorsabb lehetne, mint a többi, de a mérés azt mutatja, hogy mégsem gyorsabb. Vagyis a qemu-kvm virtualizáció elég hatékony.
A Linuxokon mindenhol -O1, a BSD-ken pedig -O2 optimalizáció volt beállítva.
--
ulysses.co.hu
A fordításhoz használt forrás mennyire publikus?
Kirakható valahova?
Szívesen kipróbálnám egy-két rendszeren én is... (igaz, nálam win7 host és virtualbox van)
A CCC3 egy részének a lefordításáról van szó. Maga a CCC3 letölthető innen:
Telepítés leírása (meglehetősen tömör): www.comfirm.hu/ccc3/ccc-belulrol.html
Amit konkrétan mértem, az az alábbi script futási edeje
Ezt a CCC3 directoryból kell indítani.
--
ulysses.co.hu
Köszi! Ha addig nem folyik ki a szemem, akkor este kipróbálom. :)
Egy CentOS-t is beletehettél volna, főleg, hogy RedHat sincs közte.
Azért köszi, hogy közzétetted a méréseidet, így is érdekes.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox
Majd legközelebb. A sebességteszt csak melléktermék. A Linuxokat a distrowatch lista tetejéről válogattam, az volt a szempont, hogy különfélék legyenek.
--
ulysses.co.hu
Kiegészítettem CentOS 6.5-tel.
--
ulysses.co.hu
Itt inkább az a lényeg, hogy maga a g++/gcc milyen optimizálásal lett fordítva. Ez a mérés azt mutatja, hogy a Fedora 20 g++/gcc-je úgy van optimizálva, hogy az felel meg legjobban a processzorodnak.
-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba
Tegnap átköltöztem precise-ról trusty-re. Ma az upgrade-del lejött egy csomó javítás, közte a qemu-kvm. Erről eszembe jutott, hogy ki kéne próbálni, működnek-e a qemu image-ek.
Egyelőre csak a Debian Wheezy-t és a NetBSD 6.1-et próbáltam (ugyanazok az img fájlok, ugyanazok az indítóscriptek). Bebootolnak, de a sebességből látható, hogy nincs virtualizáció, csak emuláció. A Wheezybe-be lehet ssh-zni, de a NetBSD-be nem. Ellenpróbaképpen bebootoltam a régi rendszerről (ugyanaz a hardver, ugyanazok az img fájlok, ugyanazok az indítóscriptek), ott minden működik.
A precise-on qemu-kvm 1.7.0 van, ami nekem jól működik.
A trusty-vel qemu-kvm 2.0.0rc1 jön, rossz. Kipróbáltam még forrásból fordítva ezeket: 1.7.0 nem fordul. 1.7.1 fordul, de a leírt hibákat produkálja. 2.0.0 leírt hibák. A 2.0.0 változat vívmánya, hogy parancssorból indítva csinál egy menüt a qemu ablakban.
--
ulysses.co.hu
Szerk.
Az megvan, hogy külön engedélyezni kell a virtualizációt, vagyis ez kell:
Sajnos FreeBSD-n, NetBSD-n a hostfwd továbbra sem működik (Linuxokkal igen), azaz jeleneg nem lehet a BSD-kbe be-ssh-zni.
Van egy NetBSD 5.1 image fájlom, amit még natty-n csináltam anno. Miután precise-ra váltottam évekig nem tudtam bebootolni. A buglistákon látszott, hogy más is találkozott a jelenséggel. Először azt hitték, hogy NetBSD hiba, aztán rájöttek, hogy a qemu-kvm romlott el. Nem túl régen jött meg a javítás a precise-ba, és most tessék, a trusty megint nem jól futtatja a BSD-ket. Ezzel kell együttélni, néha működnek a dolgok, néha nem. Nem lehet rá számítani.
Szerk.
Megismételtem a tesztet az új gépemen (precise helyett trusty). Mindenki gyorsult. A Fedora továbbra is drasztikusan gyorsabb a többinél (nyilván nem a Fedora zsenialitása, hanem valami ismeretlen tényező miatt). Az Arch csak kicsit gyorsult, visszacsúszott a mezőnybe.
A FreeBSD 10.0, FreeBSD 8.4, NetBSD 6.1 rendszereken nem működik a hostfwd, nem lehet be-ssh-zni, ezeken a qemu konzolban futtattam a tesztet. A FreeBSD 8.4 kirívóan rossz real ideje megjavult (belesímult a mezőnybe), ez azt mutatja, hogy az előző tesztben mért lassúság az ssh kapcsolaton múlt. A NetBSD 5.1-ben (a 6.1-gyel szemben) viszont működik a qemu hálózat.
Kipróbáltam még két windows imaget. A W2K nem látja a (qemu)samba servert, a Windows-2012 szerver látja. Ezek a tapasztalatok azt mutatják, hogy a qemu hálózat egyes questek esetében működik, más esetekben nem.
Hát, ez így elég lehangoló...