V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
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.