Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
nedavno jsem resil, ze bysme si mohli poridit prekladac od intelu a jelikoz se pravidelne opakuje, ze gcc je mizerne optimalizuji prekladac, a ze intel je s vyvojem nekde uplne jinde. (prece jen ma tu vyhodu, ze vi naprosto presne, jak ti mravenci v tech procesorech opravdu pobihaji)
a kdyz jsem zjistil, ze icc by mel podporovat automatickou paralelizaci vypoctu, zacalo to pro me byt jeste lakavejsi sousto. udelal jsem si proto par testu na svych ,,obsesivnich'' prikladech s fibonaccihy cisly.
kod jsem pouzil nasledujici (je napsany schvalne tak divne, ale o tom pozdeji, jestli vas to bude zajimat)int fib0(int i) { if (i <= 2) return 1; return fib0(i - 1) + fib0(i - 2); } int fib(int i) { int result; result = fib0(i); return result; } int main() { int i, j; int blah[10]; for (i = 0; i < 10; i++) blah[i] = fib(32 + i); for (i = 0, j = 0; i < 10; i++) j += blah[i]; printf("%i\n", j); return 0; }jelikoz s icc (10.1.008) nemam moc velke zkusenosti, pouzil jsem jenom "-O3 -ipo -parallel" stejne u gcc (4.1.2) pak jenom "-O3", pokud mate nekdo dalsi napady a zkusenosti podelte se s nimi v diskuzi. test jsem delal na svem notebooku s core duo, aby si to prekladac vychutnal ;-]. tak a vysledky:
icc -O3 fib.c | 14.787s |
icc -O3 -ipo fib.c | 14.640s |
icc -O3 -ipo parallel fib.c | 8.935s |
gcc -O3 fib.c | 6.646s |
int fib(int i) { int result; printf("start: %i\n", i); result = fib0(i); printf("end: %i\n", i); return result; }
icc -O3 -ipo fib.c | 14.522s |
icc -O3 -ipo -parallel fib.c | 14.209s |
takze vysledky pro me nejsou moc oslnujici, asi by bylo dobre udelat test i na nejakych "real life" prikladech... ale to uz nechavam na ctenych ctenarich...
Tiskni
Sdílej:
gcc -O3: 5.62s icc -O3: 6.07s java: 5.34sParalelizacia icc u mna bola viacmenej bez vysledkov na vykon (vramci statistickej chyby...)
icc -O3 -parallel -axT -xO : 5.99s icc -O3 -parallel -openmp -axT -xO : 6.03s
gcc -O3: 3.18s icc -O3: 6.68s java: 5.34s
icc -O3 -ipo fib.c 14.640s icc -O3 -ipo -parallel fib.c 8.935sje zrychleni o cca 40%, coz je na dvoujadrovem procesoru na hranici praktickych moznosti (kvuli rezii hardwaru i softwaru). a proto pisi: ,,ta paralelizace ma docela hezke vysledky'' v dalsim testu jsem se ji pokusil rozhodit side-effecty, aby se ukazalo, jak to zvladne... a s tim uz si nedokazal poradit, ale to neni rezie -- jinak by to nefungovalo ani v prvnim pripade... navic je zrejme, ze icc zvlada jen paralelizaci smycek a ne volani.
int fib1(int x, int i) { if (i <= 2) return x+1; return fib1(fib1(x, i - 2), i - 1); }tak jsem dostal +- stejný výkon od gcc i icc (= stejný jako gcc a původní program). MMCH, kdo dokáže říct co ten asm pro původní program skompilovaný gcc dělá, je fakt dobrej.
muj paralelizujici interpreter schemu se s tim vyrovnal bez vetsich ztratSmím se zeptat jak? Spoolujete ty side-effecty a třídíte podle času, kdy měly nastat? Nebo je jen vykonáte v nějakém pořadí a tím změníte sémantiku programu? Co děláte, když např. čtete hodnotu, která teprve bude zapsána?
nbench 2.2.2, kod v C, testuje razeni ciselne a retezcove, operace nad bitovymi poli, FFT, huffman, sifru idea, neutonovou sit...
gcc -march=nocona -O3
MEMORY INDEX : 27.356 INTEGER INDEX : 25.623 FLOATING-POINT INDEX: 42.247
icc -O3 -axT -xT
MEMORY INDEX : 22.976 INTEGER INDEX : 32.503 FLOATING-POINT INDEX: 78.696
icc -O3 -axT -xT -parallel
MEMORY INDEX : 23.318 INTEGER INDEX : 32.532 FLOATING-POINT INDEX: 78.393
-ipo vykon vyrazne snizilo...
Prevaha icc v necelociselnych vypoctech je brutalni.
Je pravda, ze spousta veci by se dala vylepsit a nektere techniky v gcc uplne chybi. Take je pravda, ze pro cloveka, ktery problematice rozumi, jsou nedostatky opravdu hodne protivne. Ale vyraz "mizerne optimalizujici" u gcc rozhodne neni na miste.
Pokud jde o zapisek konkretne, tak nevypovida vubec o nicem.