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í
×
    včera 23:22 | Nová verze

    Editor kódu Zed (Wikipedie) má nově v sobě integrovaný debugger. Podporuje Rust, C/C++, JavaScript, Go, Python a pomocí rozšíření i další programovací jazyky.

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

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované GIFy.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.18 a Xwayland 24.1.8 řeší další bezpečnostní chybu.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 210. sraz, který proběhne 20. června od 18:00 v Red Hat Labu na Fakultě informatiky Masarykovy univerzity na adrese Botanická 68A nebo také online.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Nová verze

    Byla vydána nová verze 17 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.05.0. Přehled novinek v poznámkách k vydání. Nově je implementováno standardizované simulační rozhraní ROS (Robot Operating System) 2.

    Ladislav Hagara | Komentářů: 0
    17.6. 22:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.17 a Xwayland 24.1.7 řeší 6 bezpečnostních chyb: CVE-2025-49175, CVE-2025-49176, CVE-2025-49177, CVE-2025-49178, CVE-2025-49179 a CVE-2025-49180. Nils Emmerich je nalezl koncem března a dnes publikoval detaily.

    Ladislav Hagara | Komentářů: 0
    17.6. 14:33 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.4 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

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

    UN Open Source Week 2025 probíhá tento týden v sídle Organizace spojených národů v New Yorku. Středeční a čtvrteční jednání bude možné sledovat na UN Web TV.

    Ladislav Hagara | Komentářů: 1
    17.6. 03:55 | Nová verze

    Byla vydána nová verze 2.50.0 distribuovaného systému správy verzí Git. Přispělo 98 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (57%)
     (30%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 280 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?

    27.10.2012 22:42 vasek
    Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    Přečteno: 413×
    Ahoj. V PHP mám napsaný nějaký skript a potřeboval bych spolehlivě zjišťovat, jak dlouho se vykonával určitý cyklus. Zásadní problém je, že pokud použiju třeba microtime() před cyklem a po cyklu znovu a odečtu od sebe naměřené hodnoty, tak získám nějaký čas, který vůbec nemusí odpovídat dobu běhu - může dojít k přestupné sekundě nebo např. ntpd může zrovna zpomalovat čas. Jak mám tedy tu dobu spolehlivě zjistit?

    Odpovědi

    27.10.2012 23:34 l4m4
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    Pravděpodobně hledáš getrusage(). Pokud bys chtěl měřit skutečný fyzikální čas, tak tomu je asi nejbližší CLOCK_MONOTONIC_RAW čas vrácený clock_gettime(), ale jak/zda se to dá zavolat z PHP, netuším.
    28.10.2012 23:28 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    Len upozornim, ze getrusage() vrati spotrebovany procesorovy cas, co sa samozrejme nemusi rovnat fyzikalnemu casu - uloha proste moze realne bezat ovela dlhsie, pretoze tvojej aplikacii proste nebol procesor prideleny, pripadne cakala napr. na disky.
    28.10.2012 23:40 l4m4
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    Ano, v průběhu vykonávání se může stát spousta věcí od uspání po přemigrování na jiný node clusteru... Jde-li o měření CPU-bound akce, tak je getrusage() IMO vhodná veličina, protože ji až tak moc neovliňuje kontext vykonávání. Jde-li ale o změření, jak dlouho potrvá nastavit monochromátor ovldádaný přes RS232 na danou vlnovou délku, tak je samořejmě zapotřebí měřit fyzikální čas.
    28.10.2012 23:33 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    co tak vyuzit na to systemovy uptime? /proc/uptime
    Josef Kufner avatar 29.10.2012 02:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    Obávám se, že s tímhle máš smůlu. Těch věcí se může přihodit mnoho a prakticky nemáš šanci to ani zjistit.

    Díky tomu, že microtime vrací unixový timestamp, tak tě přestupná sekunda a podobné blbosti netrápí. Unixový timestamp je krásná lineární posloupnost bezjakýchkoliv zoubků a uzlíků.

    Ovšem ntpd ti to rozhodit může. Velké záporné změny je snadné detekovat prostým ověřením, zda rozdíl časů je kladný. A s tím zbytkem... no... příjemnou zábavu. Asi nejjednodušším řešením je sestřelit na potřebnou dobu ntpd a doufat, že nic jiného na čas hrabat nebude. Ale pokud jde jen o nějaký profiler, kašli na to.
    Hello world ! Segmentation fault (core dumped)
    29.10.2012 09:51 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    Nemas pravdu, uz tu padli dva navrhy, ktorymi by to bolo mozne urobit. Pre priklad, ak sa jedna o fyzicky stroj a nie virtualny, tak /proc/uptime by mal byt vcelku presny, vypocitava sa na zaklade frekvencie procesoru (standardne sa navysuje kazdych 100 Hz, co je na vacsine architektur 0,01 sekundy).
    Josef Kufner avatar 29.10.2012 11:00 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    Ptá se na PHP, nikoliv nutně na Linux. Pokud to pak hodí na server s BSD nebo přibere kolegu s Windows, má smůlu. Leda by pro každou podporovanou platformu sehnal způsob, jak to zjistit, ale pochybuju, že se mu to vyplatí.
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 29.10.2012 11:02 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    ... navíc nikde nemá zaručeno, že systémové hodiny jdou správnou rychlostí.
    Hello world ! Segmentation fault (core dumped)
    30.10.2012 09:18 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    /proc/uptime nezavisi od systemovych hodin, procesorovy cas neviem
    frEon avatar 29.10.2012 14:17 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Jak v PHP spolehlivě zjistit dobu vykonávání určité části kódu?
    proc to potrebujes vedet? Nestacil by profiler?
    Talking about music is like dancing to architecture.

    Založit nové vláknoNahoru

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

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