Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -
… více »GTK2-NG je komunitní fork GTK 2.24 (aktuální verze je 4.22). Oznámení a diskuse v diskusním fóru Devuanu, forku Debianu bez systemd. Není to jediný fork GTK 2. Ardour je například postaven na vlastním forku GTK 2 s názvem YTK.
V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »
Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.
Německý e-shop Škoda Auto byl hacknut. Útočníci získali přístup k uživatelským údajům (jméno, adresa, e-mail, heslo, telefon, …).
Na webu konference Den IPv6 2026, která se uskuteční 4. června v Národní technické knihovně v pražských Dejvicích, je nyní k dispozici kompletní program této tradiční akce věnované tématům spojeným s protokolem IPv6. Na celodenní pásmo přednášek je třeba se přihlásit a zaplatit účastnický poplatek 242 korun. Registrační formulář najdou zájemci opět na webu akce. Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.
Byl představen emulátor terminálu Ratty (GitHub) s podporu 3D grafiky přímo v terminálu. Inspirací byl operační systém TempleOS od Terryho Davise. Ratty je napsán v jazyce Rust. Využívá knihovnu Ratatui pro tvorbu rozhraní a herní engine Bevy pro 3D vykreslování.
Evropské instituce i některé americké státy dál zpřísňují pravidla pro ověřování věku na internetu. Cílem je zabránit dětem v přístupu k obsahu pro dospělé. Úřady ale narážejí na zásadní problém – stále více lidí používá VPN, tedy služby umožňující skrýt identitu i skutečnou polohu na internetu. Právě VPN nyní Evropská parlamentní výzkumná služba (EPRS) označila za „mezeru v legislativě, kterou je potřeba uzavřít“ [Novinky.cz].
Multiplatformní open source aplikace pro psaní poznámek Joplin (Wikipedie) byla vydána v nové verzi 3.6. Nově lze mít v poznámkách embedovaný externí obsah, např. YouTube videa.
Open Hardware Summit 2026 organizovaný OSHWA (Open Source Hardware Association) proběhne o víkendu 23. a 24. května v Berlíně na Technické univerzitě Berlín.
Už víme, jak kompilace probíhá, už si umíme sami zkompilovat nějaký prográmek a dnes ukončíme naše povídání tím, že si vysvětlíme, jak udělat kompilaci hezčí, hravější, rychlejší... no prostě lepší.
Skript configure, o kterém jsme si již povídali, zkoumá při
svém běhu celý systém a snaží se zjistit, co máme a co nemáme. A podle toho
přizpůsobuje parametry, které se následně dostanou až ke kompilátoru a
ovlivní tak (velmi výrazně) výsledek jeho práce.
Makefile je obyčejný textový soubor, takže jej stačí otevřít v oblíbeném
editoru [čti vim]. V makefile se kromě jednotlivých příkazů nacházejí také
proměnné. Ty jsou zapsány úplně na začátku a zjednodušují nám změnu celého
procesu. Nejzajímavější je pro nás proměnná CFLAGS. Ta
obsahuje právě parametry kompilátoru a může vypadat třeba takto:
CFLAGS= -O3 -march=pentium -ffast-math
|
Existuje několik důvodů, proč bychom je chtěli měnit:
Jen vysvětlení ke druhému bodu: kompilovat můžeme na úplně jiném procesoru nebo dokonce jiné architektuře. Není problém překládat na CPU 486 program pro P4 (i když se to v praxi dělá spíš obráceně).
Parametrů je celá řada a my si popíšeme ty nejzajímavější:
-mcpu=
-march=-mcpu=pentium-mmx, bude kód skládán tak, aby běžel
co nejrychleji na Pentiu MMX, ale nebudou použity žádné instrukce MMX,
takže aplikace poběží i na i386. Pokud ale použijeme
-march=pentium-mmx, budou použity všechny možnosti
optimalizace, včetně využití MMX instrukcí, takže výsledek už na ničem
nižším nepojede.
Podporované možnosti u procesorů Intel a kompatibilních jsou: i386, i486, i586, i686, pentium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, prescott, nocona, k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp, athlon-mp, winchip-c6, winchip2 a c3. Tento výčet není zdaleka konečný a jediný správný. Může se zásadně lišit podle verze gcc a aplikovaných patchů.
-O-fexpensive-optimizations-ffast-math-fforce-mem-funroll-loops-fschedule-insnsTo je z nejdůležitějšího asi vše. Chcete-li více, viz
man gcc.
Otázkou ovšem zůstává, co a kdy optimalizovat. Některé distribuce jako Gentoo nebo SourceMage automaticky kompilují zdrojové balíčky už při jejich instalaci. Takže jsou optimalizovány všechny programy i knihovny. V příslušném konfiguračním souboru pak lze nastavit konkrétní kompilační parametry.
To má pochopitelně několik výhod:
Nevýhodou je samozřejmě delší instalace veškerého software (během ní je ovšem možno normálně pracovat). Otázkou všeobjímající kompilace ovšem zůstává, zda se takto ztrávený čas vyplatí. Zarytí Gentooisti budou neobjektivně tvrdit, že rozhodně ano. Zkusme se na celou situaci podívat z nadhledu.
V každé distribuci jsou k dispozici tisíce programů. Stačí si v konzoli
dvakrát stisknout tabulátor a hláška Display all 1637 possibilities?
(y or n) nás jistě přesvědčí, že je tomu skutečně tak. Drtivá
většina aplikací však spadá do skupiny systémových utilit, jenž jsou velmi
nenáročné na procesorový čas. Jsou to například: ls, grep, less, more,
sort, cat, echo, ping a mnoho dalších.
Otázka tedy zní: Vyplatí se nám optimalizovat si i tyto programy? Podle mě ne. Proto je zbytečné volit Gentoo nebo SourceMage jen proto, abychom měli "vyladěný" systém.
Naopak některé důležité programy je vhodné si optimalizovat na míru svému stroji. Jsou to ale spíše náročnější aplikace jako MPlayer, POV-Ray a podobně, kde se může za jistých okolností hodit každé procento. Rovněž na glibc (hlavní systémová knihovna, kterou využívají všechny programy) můžeme ušetřit kousek zatížení procesoru. Při přehrávání mp3 na 3GHz procesoru nás však ani toto nemusí trápit.
Jiná situace samozřejmě nastává v případě, že vlastníte nějaký zvláštní druh hardware (například 64 bitový procesor v serveru). Je pochopitelné, že instalace a použití 32 bitové distribuce "tak, jak je", by zde bylo chybou.
Další stranou mince, kterou je potřeba zvážit, je fakt, že některé distribuce (například Debian) je možno sehnat již předkompilované pro různé druhy platforem, případně můžeme stáhnout upravené balíky (MalýJarda například vyrábí své debianní balíky rovnou pro platformu i686). Máme tak ulehčenou práci, protože optimalizaci už udělal někdo za nás.
Obecně vzato je optimalizace velmi užitečná věc a v případě náročných projektů nebo nově instalovaných programů, které si sami kompilujeme, se nám může hodit. Ovšem i zde platí klasické pořekadlo: "Všeho s Mírou."
Tímto uzavíráme náš miniseriálek o kompilacích. Doufám, že se líbíl a že jste se dozvěděli něco nového.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
osobne si kompiluju prave video prehracac, kompresory a jadro.