Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.
Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…
Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
$ php5 -v
PHP 5.2.6-1+lenny3 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 26 2009 20:09:03)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
$ echo '<?php sleep(10); ?>' | php5 & sleep 5; ps aux | grep [p]hp
[1] 11789
messa 11789 0.0 0.1 150744 8748 pts/4 S< 18:23 0:00 php5
$ echo '<?php class C {} for ($i = 0; $i < 10000; $i++) {$arr[] = new c();} sleep(10); ?>' | php5 & sleep 5; ps aux | grep [p]hp
[2] 11795
[1]- Done echo '<?php sleep(10); ?>' | php5
messa 11795 0.4 0.1 156652 14284 pts/4 S< 18:23 0:00 php5
Vzalo si to 5536 kB, to vychází průměrně 567 byte na jeden objekt. Na C++ objekt by to bylo hodně, ale u vzhledem k tomu, že u PHP a podobných jazyků je objekt spíše slovníková struktura a nějaká další režie, mi to nepřijde tolik.
Pokud potřebuješ vytvářet mraky objektů, možná pro to PHP není to pravé. Nebo by možná stačilo jen zvýšit memory_limit, pokud je i těch 20 MB problém :)
Myslím, že gc je mi k ničemu, když všechny vytvořené objekty používám.
Memory usage with 0 objects : 0.31355285644531 MB Memory usage with 5000 objects : 2.108585357666 MB Memory usage with 10000 objects : 3.9348297119141 MB Memory usage with 15000 objects : 5.4797821044922 MB Memory usage with 20000 objects : 7.5872421264648 MB Memory usage with 25000 objects : 9.132194519043 MB Memory usage with 30000 objects : 10.677146911621 MB Memory usage with 35000 objects : 13.347118377686 MB Memory usage with 40000 objects : 14.892070770264 MB Memory usage with 45000 objects : 16.437023162842 MB Memory usage with 50000 objects : 17.98197555542 MB Memory usage with 55000 objects : 19.526927947998 MB Memory usage with 60000 objects : 21.071880340576 MB Memory usage with 65000 objects : 22.616832733154 MB Memory usage with 70000 objects : 26.411785125732 MB Memory usage with 75000 objects : 27.956737518311 MB Memory usage with 80000 objects : 29.501689910889 MB Memory usage with 85000 objects : 31.046642303467 MB Memory usage with 90000 objects : 32.591594696045 MB Memory usage with 95000 objects : 34.136547088623 MB Memory usage with 100000 objects : 35.681499481201 MB Memory peak usage : 35.682582855225 MB
$ php -v PHP 5.3.2 with Suhosin-Patch (cli) (built: Apr 2 2010 19:44:30) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend TechnologiesObsah suboru test.php
<?php
class Foo
{
public $var = '3.1415962654';
}
$arr = array();
for ( $i = 0; $i <= 100000; $i++ )
{
$a = new Foo;
if($a != null){
$arr[] = $a;
}
if($i % 5000 == 0){
echo "Memory usage with $i objects : " . memory_get_usage()/(1024*1024) . " MB \n";
}
}
echo "\nMemory peak usage : " . memory_get_peak_usage()/(1024*1024), " MB\n";
?>
Tiskni
Sdílej: