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 07:22 | Pozvánky

Konference InstallFest 2018 proběhne o víkendu 3. a 4. března 2018 v Praze na Karlově náměstí 13. Spuštěno bylo CFP. Přihlásit přednášku nebo workshop lze do 18. ledna 2018.

Ladislav Hagara | Komentářů: 0
včera 20:22 | Nová verze

Před měsícem byla vydána Fedora 27 ve dvou edicích: Workstation pro desktopové a Atomic pro cloudové nasazení. Fedora Server byl "vzhledem k náročnosti přechodu na modularitu" vydán pouze v betaverzi. Finální verze byla naplánována na leden 2018. Plán byl zrušen. Fedora 27 Server byl vydán již dnes. Jedná se ale o "klasický" server. Modularita se odkládá.

Ladislav Hagara | Komentářů: 1
včera 10:22 | Zajímavý článek

Lukáš Růžička v článku Kuchařka naší Růži aneb vaříme rychlou polévku z Beameru na MojeFedora.cz ukazuje "jak si rychle vytvořit prezentaci v LaTeXu, aniž bychom se přitom pouštěli do jeho bezedných hlubin".

Ladislav Hagara | Komentářů: 13
včera 07:22 | Komunita

Od 26. do 29. října proběhla v Bochumi European Coreboot Conference 2017 (ECC'17). Na programu této konference vývojářů a uživatelů corebootu, tj. svobodné náhrady proprietárních BIOSů, byla řada zajímavých přednášek. Jejich videozáznamy jsou postupně uvolňovány na YouTube.

Ladislav Hagara | Komentářů: 0
11.12. 19:22 | Nová verze

Ondřej Filip, výkonný ředitel sdružení CZ.NIC, oznámil vydání verze 2.0.0 open source routovacího démona BIRD (Wikipedie). Přehled novinek v diskusním listu a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
11.12. 09:22 | Pozvánky

V Praze dnes probíhá Konference e-infrastruktury CESNET. Na programu je řada zajímavých přednášek. Sledovat je lze i online na stránce konference.

Ladislav Hagara | Komentářů: 2
9.12. 20:11 | Nová verze

Byl vydán Debian 9.3, tj. třetí opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.10, tj. desátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 4
9.12. 00:44 | Nová verze

Po 6 měsících vývoje od vydání verze 0.13.0 byla vydána verze 0.14.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 88 vývojářů. Přibylo 1 211 nových balíčků. Jejich aktuální počet je 6 668. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 4
8.12. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 5.9 byla vydána nová stabilní verze 5.10 toolkitu Qt. Přehled novinek na wiki stránce. Současně byla vydána nová verze 4.5.0 integrovaného vývojového prostředí (IDE) Qt Creator nebo verze 1.10 nástroje pro překlad a sestavení programů ze zdrojových kódů Qbs.

Ladislav Hagara | Komentářů: 0
7.12. 11:11 | Komunita

Naprostá většina příjmů Mozilly pochází od výchozích webových vyhledávačů ve Firefoxu. Do konce listopadu 2014 měla Mozilla globální smlouvu se společností Google. Následně bylo místo jedné globální smlouvy uzavřeno několik smluv s konkrétními vyhledávači pro jednotlivé země. V USA byla podepsána pětiletá smlouva s vyhledávačem Yahoo. Dle příspěvku na blogu Mozilly podala společnost Yahoo na Mozillu žalobu ohledně porušení této

… více »
Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 970 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Benchmark v PHP fopen, file_get_contents, require ...

    10.11.2012 17:41 | Přečteno: 977× | Ž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: 34 | 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: 34 | 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: 34 | 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: 34 | 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: 34 | 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.