- A hozzászóláshoz be kell jelentkezni
- 5418 megtekintés
Hozzászólások
A legfőbb újdonságok:
- Igen nagy teljesítményjavulás: „Memory usage building Firefox with debug enabled was reduced from 15GB to 3.5GB; link time from 1700 seconds to 350 seconds.”
- Sokat fejlődött a C++14 támogatás;
- AArch64, ARM, x64, PowerPC fejlesztések.
- A hozzászóláshoz be kell jelentkezni
Mielőtt valaki pezsgőt bontana, a teljesítményjavulás LTO build-re vonatkozik...
Hasznosnak persze hasznos, de jóval kevesebb embert érint.
"...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
Van valami hátránya az LTO általános használatának (tehát az
-flto -fuse-linker-plugin
kapcsolók megadásának) átlagos programok esetében? Néztem a wiki oldalát, de azt akkor lezárták, amikor az LTO ágat beolvasztották (kb. négy és fél éve), és gondolom, azóta pár dolog változott.
- A hozzászóláshoz be kell jelentkezni
Szerintem az LTO még nem érett meg az általános használatra. Egyedi esetben van értelme, sőt használom egy projektemnél ahol számít minden százaléknyi teljesítmény. Viszont jelenleg nagyon erőforrás igényes a használata, a phoronix tesztjeit nézve sok a javulás, de van még mit faragni rajta. Hátránya - azon kívül hogy nagyobb valószínűséggel készül rossz kód -, hogy aránytalan a plusz erőforrás kontra kód gyorsulás. Nagyságrendi becslésem alapján egy disztrib újrafordításánál az egyes szoftverek fordítási ideje 2-4x, a RAM használatának 3-10x növekedésével a kód gyorsulása -10% és +30% között lehet.
További infó és néhány teszt:
http://www.phoronix.com/scan.php?page=news_item&px=MTY2MzA
http://www.phoronix.com/scan.php?page=search&q=LTO
Egyébként az LLVM (3.5) is sokat feljődik LTO támogatás terén:
http://llvm.org/docs/LinkTimeOptimization.html
- A hozzászóláshoz be kell jelentkezni
Plussz még:
- libssl.so fordításakor automatikus backdoor generálás
- A hozzászóláshoz be kell jelentkezni
Ez nem új ötlet :D
- A hozzászóláshoz be kell jelentkezni
Ja.
Azt szokták mondani, hogy úgy lehet megbizonyosodni arról, hogy a C fordító (esetünkben a GCC) nem tesz bele hibát a kódba, hogy lefordítjuk egy másik fordítóval is, és megnézzük, hogy a keletkezett bináris ugyanúgy működik-e. Na de pl. a Heartbeet hiba esetében ismernünk kell a hibát, hogy tesztelni tudjuk a különböző fordítók által generált kódokat. Azaz amíg nem tudjuk, hogy azt a hibát keressük, amelyik nem figyel oda a kért szöveg hosszára (ld. Heartbeet), addig nem fogjuk meg, hiába használunk másik fordítót.
- A hozzászóláshoz be kell jelentkezni
Subscrible.
- A hozzászóláshoz be kell jelentkezni
Hibás a bejelentés link (a docra irányít).
- A hozzászóláshoz be kell jelentkezni