Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
@indexy = ( 1 .. 10e6 )
Ekvivalent v Pythonu přitom proběhne bez swapování a za zlomek času. A to nepoužívám fci xrange.
indexy = range(1, 10e6)
Pro úplnost ta konstrukce z programu
# pole @primes obsahuje cca 5 mil. celočíselných hodnot
@hash{ (1 .. $#primes + 1) } = @primes
Perl v5.8.8
Je ta ukrutná spotřeba paměti bug ? Lze to obejít bez použití cyklu ?
%hash=map {++$i=>$_} @primes;
1528 hynek 9 0 613m 449m 142m S 0.0 89.3 0:11.86 perlNarozdíl od pythonu to opravdu není nijak optimalizované. Na efektivní práci s takovými strukturami jsou
vec
, případně Int::BigVec
a pod. Stejně mi ale uniká, proč to děláte. Rychlost přístupu $hash{$cislo}
není lepší než $primes[$cislo]
. Pochopil bych opačný postup @hash{@primes} = ();
a test typu $isPrime = exists $hash{$cislo};
Co mi ale není furt jasný, že následující konstrukce s multiplikátorem má spotřebu paměti daleko menší ?! Proto jsem viděl problém v operátoru .. .
perl -lwe '@indexy = (10e6) x 10e6; print $pole[10e6-1]'
a výstup ps těsně před skončenímps -o pid,cmd,size,rss,vsz -C perl PID CMD SZ RSS VSZ 20215 perl -lwe @pole = (10e6) x 299332 273532 303976
perl -lwe '@indexy = (10e6) x 10e6; print $indexy[10e6-1]'
aps -o pid,cmd,size,rss,vsz -C perl PID CMD SZ RSS VSZ 20215 perl -lwe @indexy = (10e6) x 299332 273532 303976
Sorry.
perl -le 'for ($i=1; $i <= 10e6; $i++) { push @pole,$i; } print $pole[10e6-1]'
ps -o pid,cmd,size,rss,vsz -C perl
PID CMD SZ RSS VSZ
24054 perl -le for ($i=1; $i <= 10 234804 235548 239448
Taky vezme výrazně míň paměti.
..
a pak se ještě skopíruje do cílového pole. Při plnění do hashe to udělá dokonce čtyřikrát. Asi bude nejlepší, když to prostě nebudete dělat. On si naalokuje tu paměť a potom ji neuvolní. Myslím tím do systému, pro perl je samozřejmě volná. Jinak, když dělám podobné testy, tak používám oneliner typu perl -le '@hash{1..5e6} = (1..5e6); print "Hotovo"; sleep'Nemusíte to potom nijak odchytávat
V jednom programu potřebuju uložit pole do hashe, kde klíče v hashi jsou poziční indexy a hodnoty pak hodnoty z pole.
Jestli tomu správně rozumím, tak chcete nahradit konstrukci typu pole[index]
konstrukcí hash[klíč]
. Můžu se zeptat proč? V čem je pro vás hash
lepší? Beztak budete tou hashí jen suplovat funkčnost pole, nebo se pletu?
Tiskni
Sdílej: