abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 00:55 | Nová verze

Po téměř 13 měsících vývoje od verze 0.11.0 byla vydána verze 0.12.0 hardwarově nenáročného desktopového prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklého sloučením projektů Razor-qt a LXDE. Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
včera 12:33 | Zajímavý software

Článek ne Medium představuje nejnovější stabilní verzi 2.0 svobodné decentralizované mikroblogovací platformy a sociální sítě podobné Twitteru Mastodon (Wikipedie). Detailní přehled novinek na GitHubu [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 06:00 | Komunita

V Praze na půdě Elektrotechnické fakulty ČVUT dnes probíhá RT-Summit 2017 – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt. Přednášky lze sledovat online na YouTube.

Ladislav Hagara | Komentářů: 0
20.10. 14:33 | Zajímavý projekt

Blender Animation Studio zveřejnilo první epizodu z připravovaného animovaného seriálu The Daily Dweebs o domácím mazlíčkovi jménem Dixey. Ke zhlédnutí také ve 3D s rozlišením 8K.

Ladislav Hagara | Komentářů: 0
20.10. 12:34 | Komunita

Aktualizovanou počítačovou hru Warhammer 40,000: Dawn of War III v ceně 39,99 eur běžící také na Linuxu lze o víkendu na Steamu hrát zdarma a případně ještě v pondělí koupit s 50% slevou. Do soboty 19:00 lze na Humble Bundle získat zdarma Steam klíč k počítačové hře Sid Meier's Civilization® III v ceně 4,99 eur běžící také ve Wine.

Ladislav Hagara | Komentářů: 0
20.10. 00:22 | Nasazení Linuxu

Společnost Samsung oznámila, že skrze dokovací stanici DeX a aplikaci Linux on Galaxy bude možno na Samsung Galaxy S8 a S8+ a Galaxy Note 8 provozovat Linux. Distribuce nebyly blíže upřesněny.

Phantom Alien | Komentářů: 19
19.10. 23:55 | Komunita

Společnost Purism na svém blogu oznámila, že její notebooky Librem jsou nově dodávány se zrušeným (neutralized and disabled) Intel Management Engine (ME). Aktualizací corebootu na již prodaných noteboocích lze Management Engine také zrušit. Více v podrobném článku.

Ladislav Hagara | Komentářů: 0
19.10. 21:44 | Nová verze

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 6
19.10. 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 1
19.10. 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 23
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (1%)
 (1%)
 (74%)
 (13%)
Celkem 168 hlasů
 Komentářů: 7, poslední 19.10. 23:06
    Rozcestník

    Benchmark v PHP fopen, file_get_contents, require ...

    10.11.2012 17:41 | Přečteno: 975× | Žumpa | poslední úprava: 12.11.2012 00:50

    Je to taká rýchlovka, robil som to pre seba. Možno sa to niekomu hodí, tak to sem dávam.

    Predmetom testu je:
    Načítať riadky do premenných. Vždy ide o šesť riadkov do premenných. Zaujímalo ma aký rozdiel je načítať 2 riadky z 3 súborov a 6 riadkov z jedného súboru. Pridal som aj test pomocou require.

    Test prebieha:
    Načítanie 3 súborov s 2 riadkami pomocou fopen
    Načítanie 1 súboru s 6 riadkami pomocou fopen
    Načítanie 1 súboru s 6 pomocou file_get_contents
    Vloženie PHP kódu s 6 premennými pomocou require
    Vloženie PHP kódu s 6 premennými pomocou require_once

    Výsledok require_once je samozrejme irelevantný, pretože pripojí PHP súbor len raz, ale aj tak beží v slučke so 100000 opakovaniami.

    Každý test má 100000 opakovaní a celé sa to opakuje 3krát

    Tu je kód
    <?php
    // ##########################################################################
    // Benchmark fopen, file_get_contents, require, require_once
    // Author Mario Chorvath - Bedna, License GPLv3+: GNU GPL version 3 or later
    // ##########################################################################
    // 3 reps
    for ($r = 1; $r <= 3; $r++) {
    	echo $r.'. test
    '; // Number of repetitions $loop = 100000; // Open 3 files with 2 lines $time = microtime(true); for ($i = 0; $i < $loop; $i++) { $handle = fopen('2_1.txt', r); $line = fgets($handle); $line = fgets($handle); fclose($handle); $handle = fopen('2_2.txt', r); $line = fgets($handle); $line = fgets($handle); fclose($handle); $handle = fopen('2_3.txt', r); $line = fgets($handle); $line = fgets($handle); fclose($handle); } echo 'Open 3 files with 2 lines '; echo microtime(true)-$time.'s
    '; // Open 1 file with 6 lines $time = microtime(true); for ($i = 0; $i < $loop; $i++) { $handle = fopen('6.txt', r); $line = fgets($handle); $line = fgets($handle); $line = fgets($handle); $line = fgets($handle); $line = fgets($handle); $line = fgets($handle); fclose($handle); } echo 'Open 1 file with 6 lines '; echo microtime(true)-$time.'s
    '; // Open 1 file with 6 lines (file_get_contents) $time = microtime(true); for ($i = 0; $i < $loop; $i++) { $content_file = file_get_contents('6.txt', false); $strings = explode("\n", $content_file); // Store lines in the array } echo 'Open 1 file with 6 lines (file_get_contents) '; echo microtime(true)-$time.'s
    '; // Insert php file with 6 lines (require) $time = microtime(true); for ($i = 0; $i < $loop; $i++) { require ('6.php'); } echo 'Insert php file with 6 lines (require) '; echo microtime(true)-$time.'s
    '; // Insert php file with 6 lines (require_once) $time = microtime(true); for ($i = 0; $i < $loop; $i++) { require_once ('6.php'); } echo 'Insert php file with 6 lines (require_once) '; echo microtime(true)-$time.'s
    '; } ?>

    Výsledok testu:
    1. test
    Open 3 files with 2 lines 2.2364869117737s
    Open 1 file with 6 lines 0.85146999359131s
    Open 1 file with 6 lines (file_get_contents) 0.95627999305725s
    Insert php file with 6 lines (require) 2.1108641624451s
    Insert php file with 6 lines (require_once) 0.12839698791504s
    2. test
    Open 3 files with 2 lines 2.2577669620514s
    Open 1 file with 6 lines 0.85908102989197s
    Open 1 file with 6 lines (file_get_contents) 1.0589778423309s
    Insert php file with 6 lines (require) 2.1393258571625s
    Insert php file with 6 lines (require_once) 0.12791395187378s
    3. test
    Open 3 files with 2 lines 2.3164110183716s
    Open 1 file with 6 lines 0.87628293037415s
    Open 1 file with 6 lines (file_get_contents) 1.0660879611969s
    Insert php file with 6 lines (require) 2.1195430755615s
    Insert php file with 6 lines (require_once) 0.12526202201843s

    Možno to niekomu pomôže keď sa bude rozhodovať údaje vložiť do jedného, alebo viacerých súborov.

    Testovacie súbory hodím do komentára.        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Bedňa avatar 10.11.2012 17:42 Bedňa | skóre: 33 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    Příloha:
    Testovacie súbori
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    xkucf03 avatar 10.11.2012 21:43 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    Možno to niekomu pomôže keď sa bude rozhodovať údaje vložiť do jedného, alebo viacerých súborov.
    Otevírání/zavírání souboru je relativně drahá operace. Ale je otázka, jestli to člověk potřebuje dělat 100 000× a jestli se to nějak reálně projeví. Často je vhodné si načíst data jen jednou do RAM (při startu aplikace) a pak je pokaždé (třeba s každým HTTP) požadavkem číst odtamtud – z proměnné v rámci jednoho procesu. Jenže tohle jde bohužel v PHP špatně nebo spíš vůbec.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    Bedňa avatar 10.11.2012 21:55 Bedňa | skóre: 33 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    Ja som riešil práve tento konkrétny problém, či sa oplatí prerobiť skript a s tým všetky súvisiace veci a uložiť to do jedného súboru. Benchmark ukázal že áno. Teda väčšinou to človek nepotrebuje 10.0000krát, ale pri veľkej záťaži sa to môže stať.
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    edois avatar 11.11.2012 02:08 edois
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    Při velké zátěži je blbost použít PHP ;) A neargumentujte mi Facebookem, ti už stejně v podstatě PHP nepoužívají
    Bedňa avatar 11.11.2012 16:29 Bedňa | skóre: 33 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    A čo je lepšie použiť?
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    10.11.2012 23:19 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    Jenže tohle jde bohužel v PHP špatně nebo spíš vůbec.
    Ale no tak...
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    Bedňa avatar 10.11.2012 23:43 Bedňa | skóre: 33 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    Jasne že PHP používa moderné metódy čo veľa ľudí neznalosťou PHP vyčíta, ale skôr sa prikláňam štandatným vytunením serveru cez nastavenia Apacha atď.
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    edois avatar 11.11.2012 02:09 edois
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    Daleko lepší vytunění serveru je se Apache zbavit ;)
    Bedňa avatar 11.11.2012 16:31 Bedňa | skóre: 33 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    Žiadne riešenie nieje univerzálne, alebo také poznáš?
    Pokecajte si s umelou stupiditou na http://www.kernelultras.org/
    Josef Kufner avatar 11.11.2012 21:40 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    Přesně tak. Apache je zaměřen na univerzálnost, nikoliv na výkon. Ale pokud někdo potřebuje vysoký výkon, tak nepotřebuje univerzálnost. Pak přijdou ke slovu lighttpd a podobné.
    Hello world ! Segmentation fault (core dumped)
    xkucf03 avatar 11.11.2012 00:03 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    O memcached vím, ale to není v rámci téhož procesu, ne? Místo otevírání souboru musíš otevřít TCP spojení, byť na localhost.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    Jiří Němec avatar 11.11.2012 08:13 Jiří Němec | skóre: 22 | blog: BluPix | Horní Smrčné
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    V rámci procesu je pro to podpora v APC, byla myslím i v eacceleratoru, z toho zmizela a nejspíš to najdete i v dalších PHP cache a akcelerátorech. Jelikož se má APC stát standardní součástí PHP, tak je myslím poměrně bezpečné to začít používat, hlavně pokud si provozujete vlastní server.
    Spock: "Logic, logic, logic. Logic is the beginning of wisdom, not the end.
    xkucf03 avatar 11.11.2012 21:41 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Benchmark v PHP fopen, file_get_contents, require ...
    A fungují tam i persistentní plnohodnotné objekty? Nebo je to jen cache klíč/hodnota? Jak se tam definuje rozsah „aplikace“? Je tam nějaká analogie javovského .war/.ear archívu, který se nasazuje na aplikační server?
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    xkucf03 avatar 11.11.2012 00:11 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše PHP vs. Java EE
    P.S. To, o čem jsem psal, funguje např. v Javě EE. I když použiješ tak primitivní věc, jako jsou servlety – i bez nějakých frameworků – při inicializaci servletu (zjednodušeně: při startu serveru) si můžeš načíst různé věci (konfiguraci, číselníky, nějaká data) a uložit je do proměnných – a potom při přicházejících HTTP požadavcích si je můžeš číst* – a čteš je v rámci téhož procesu, z proměnné v RAM a jako objekty – tzn. není potřeba žádná komunikace po soketu a parsování nějakého serializačního formátu.

    *) případně i zapisovat, když si dáš pozor na synchronizaci…
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    11.11.2012 01:56 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: PHP vs. Java EE
    Jasně, jenže v Javě tohle řeší aplikační server. V PHP běžícím jako CGI si to představit nedokážu. Mohlo by to fungovat jako FastCGI nebo modul do apache (tam by se to IMO neobešlo bez úprav webserveru). A s J2EE jsem měl tu "čest" semestr dělat - raději PHP, do kterého si formou různých modulů nebo externích démonů (viz zmiňovaný memcached) doplním co potřebuji, než abych dělal v tom neskutečném molochu, jakým Java je.
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    mirec avatar 11.11.2012 21:31 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: PHP vs. Java EE
    Existujú aj iné cesty, ja napr. píšem weby v pythone. Ale s javou vo všeobecnosti na serveri tiež nemám problém.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    xkucf03 avatar 11.11.2012 21:36 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: PHP vs. Java EE
    do kterého si formou různých modulů nebo externích démonů (viz zmiňovaný memcached) doplním co potřebuji, než abych dělal v tom neskutečném molochu, jakým Java je.
    V Javě si zase napíšeš jednu třídu, která implementuje nějaké rozhraní nebo dědí abstraktního předka, případně přidáš nějakou tu anotaci… přijde mi to jednodušší než externí démoni a moduly do webserveru… Resp. takový ten klasický LAMP (alternativně Nginx a PostgreSQL) a standardní moduly, to je fajn a jednoduché, ale když potřebuješ doprogramovat nějakou vlastní specialitu, na to mi přijde jednodušší ta Java.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.