Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.
Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.
Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování
… více »Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.
Americký prezident Donald Trump se v pondělí osobně setkal s generálním ředitelem firmy na výrobu čipů Intel Lip-Bu Tanem. Šéfa podniku označil za úspěšného, informují agentury. Ještě před týdnem ho přitom ostře kritizoval a požadoval jeho okamžitý odchod. Akcie Intelu v reakci na schůzku po oficiálním uzavření trhu zpevnily asi o tři procenta.
Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.
V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.
Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.
WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.
header()
. Pokud se už cokoli vypsalo, nepůjde to.
Obvykle je pro PHP k dispozici 32-128 MB RAM. Pokud těch dat nemáš víc, nemusíš to řešit a můžeš to udělat tak, jak ti to zrovna vyhovuje. Tak, aby se ti to dobře udržovalo. Mně víc vyhovuje naskládat data do proměnných a pak je jednou šablonou vypsat.
Zpracování celého webu: ProcessingTime: 0.00155 s. // při použití přímo echa Zpracování celého webu: ProcessingTime: 0.00820 s. // při uložení dat do proměnných s pozdějším vypsáním
Debugování kódu: půl dne // při použití přímo echa Debugování kódu: deset minut // při uložení dat do proměnných s pozdějším vypsánímpráce procesoru je daleko levnější, měl bys psát hlavně takovej kód se kterým se bude dobře pracovat tobě
práce procesoru je daleko levnější, měl bys psát hlavně takovej kód se kterým se bude dobře pracovat toběJenže hezké, krátké, a rychlé algoritmy se vzájemně nevylučují. Je dobré si předem zjistit na předpokládané množině dat, který algoritmus je efektivnější a ten používat. Od chvíle, kdy jsem zjistil, že databáze jsou rychlejší (a hlavně spolehlivější), než vlastní ukládání dat a že XSLT je daleko rychlejší než Smarty, nemám důvod používat jiné technologie.
Od chvíle, kdy jsem zjistil, že databáze jsou rychlejší (a hlavně spolehlivější), než vlastní ukládání datErm… :).
__toString()
, OB se moc použít nedá. Na druhou stranu se dá přímo použít v Heredoc, takže to zas tak pomalé není.
Pokud má mít takový overhead, že je echo() dvakrát za sebou znatelně pomalejší než vypsání toho samého najednouSkutečné odeslání dat po TCP nadvakrát má z principu overhead proti odeslání najednou. Dá se to optimalizovat, pokud bufferuješ a zároveň se dá zajistit odezva, pokud bufferuješ s nějakým časovým limitem. Tuším, že se o tom v poslední době docela dost psalo. Ale rozhodně to nemá nic společného s optimalizacemi programovacího jazyka, pokud teda nechceš, aby ti slučoval výstupní operace už na úrovni kódu. Ale to je značně netriviální operace, když si uvědomíš, že se jedná o systémové volání. Režie spojování řetězců by měla být nejmenší, pokud je spojuješ najednou. Proto se třeba v Pythonu občas optimalizuje výstup tak, že se vše ukládá do pole a to se později nechá spojit celé. Ale to samé se používá i na nejnižší úrovni, když chceš hardcore optimalizaci odeslání nesouvislého bloku dat. Stačí si najít například iovec, sendmsg a recvmsg. Ale to jsou všechno optimalizace na úrovni samotného programu a zpracování a nedají se moc dohnat automatickým optimalizérem.
__toString()
.
echo $a[0],$a[1],$a[2],…
<?php date_default_timezone_set('Europe/Prague'); function getTime(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } define("ITEMS", 10); define("STRSTEPS", 6); define("STEPS", 10000); $hstart='<span style="display: none;">TEXT:'; $hend='</span>'; $a = array(); for($i=0;$i < ITEMS;$i++){ $a[] = str_shuffle(str_repeat('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',STRSTEPS)); } $start = getTime(); echo $hstart; for($i=0;$i<STEPS;$i++){ foreach($a as $v){ print $v; } } echo $hend; $time = getTime() - $start; echo "\n<br />*TIME foreach : $time<br />\n"; $start = getTime(); echo $hstart; for($i=0;$i<STEPS;$i++){ for($j=0;$j < ITEMS;$j++){ print $a[$j]; } } echo $hend; $time = getTime() - $start; echo "\n<br />*TIME for : $time<br />\n"; $start = getTime(); echo $hstart; for($i=0;$i<STEPS;$i++){ echo implode($a); } echo $hend; $time = getTime() - $start; echo "\n<br />*TIME implode(): $time<br />\n"; $start = getTime(); echo $hstart; for($i=0;$i<STEPS;$i++){ $pomstr=''; for($j=0;$j < ITEMS;$j++) $pomstr.=$a[$j]; echo $pomstr; } echo $hend; $time = getTime() - $start; echo "\n<br />*TIME pomstr.= : $time<br />\n"; $start = getTime(); echo $hstart; for($i=0;$i<STEPS;$i++){ echo $a[0].$a[1].$a[2].$a[3].$a[4].$a[5].$a[6].$a[7].$a[8].$a[9]; } echo $hend; $time = getTime() - $start; echo "\n<br />*TIME .[]. : $time<br />\n"; $start = getTime(); echo $hstart; for($i=0;$i<STEPS;$i++){ echo $a[0],$a[1],$a[2],$a[3],$a[4],$a[5],$a[6],$a[7],$a[8],$a[9]; } echo $hend; $time = getTime() - $start; echo "\n<br />*TIME [] : $time<br />\n";Spuštěné:
php kuk.php > kuk && grep '*' kukto dalo (na slabší mašince):
<br />*TIME foreach : 0.46209192276001<br /> <br />*TIME for : 0.98375391960144<br /> <br />*TIME implode(): 0.20939517021179<br /> <br />*TIME pomstr.= : 2.4737629890442<br /> <br />*TIME .[]. : 2.3295640945435<br /> <br />*TIME [] : 2.6475369930267<br />…jen u posledních dvou jsem to čekal obráceně…
*TIME foreach : 2.6435630321503 *TIME for : 2.9650778770447 *TIME implode(): 1.3122179508209 *TIME pomstr.= : 4.6817560195923 *TIME .[]. : 2.4447479248047 *TIME [] : 2.0510191917419Na obou mašinách však zvítězila funkce
implode()
. S využitím output bufferingu však výsledky dopadly trochu jinak:
*TIME foreach : 0.4439480304718 *TIME for : 0.48819804191589 *TIME implode(): 0.56835508346558 *TIME pomstr.= : 1.8790969848633 *TIME .[]. : 1.9683930873871 *TIME [] : 0.52422690391541a zde už zvítězil cyklus.
'AMD Athlon(tm) Processor LE-1640'
.
*TIME foreach : 0.50749897956848
*TIME for : 0.50337791442871
*TIME implode(): 0.50320887565613
*TIME pomstr.= : 0.49960994720459
*TIME .[]. : 0.5042028427124
*TIME [] : 0.49123191833496
zatimco pres cli
*TIME foreach : 0.23669791221619
*TIME for : 0.24331903457642
*TIME implode(): 0.13928508758545
*TIME pomstr.= : 0.11431002616882
*TIME .[]. : 0.10860085487366
*TIME [] : 0.23174500465393
jsem teda cekal, ze to dopadne jinak (nehlede na to, ze je to sice serverova masina, ale s dost velkym loadem :) )
*TIME foreach : 0.50749897956848
*TIME for : 0.50337791442871
*TIME implode(): 0.50320887565613
*TIME pomstr.= : 0.49960994720459
*TIME .[]. : 0.5042028427124
*TIME [] : 0.49123191833496
*TIME foreach : 0.23669791221619
*TIME for : 0.24331903457642
*TIME implode(): 0.13928508758545
*TIME pomstr.= : 0.11431002616882
*TIME .[]. : 0.10860085487366
*TIME [] : 0.23174500465393
Tiskni
Sdílej: