Autor | Zpráva | ||
---|---|---|---|
Seki Profil |
#1 · Zasláno: 6. 6. 2012, 16:36:10
Potřebuju na svém webu změřit, jak dlouho načítá, proto jsem si napsal jednoduchou funkci a výsledek chci obdržet v milisekundách. Bohužel si vůbec nejsem jistý tím, co jsem napsal a byl bych rád, kdyby se na to někdo podíval....
<?php //stopování function doba ($sta, $end) { $start = explode (".", $sta); $konec = explode (".", $end); $sekundy = ($konec[0] - $start[0])*1000; $mikro = ($konec[1] - $start[1])/1000; $return = $sekundy + $mikro; return $return; } //test funkce $start = microTime (TRUE); for ($i=0; $i<=1000000; $i++){ } $konec = microTime (TRUE); echo doba ($start, $konec); ?> Díky za pomoc |
||
Majkl578 Profil |
#2 · Zasláno: 6. 6. 2012, 16:39:21
Nechápu smysl toho kódu (konkrétně té funkce). Proč nepoužiješ jen toto:
echo round(($end - $start) * 1000, 2); |
||
Alebo Profil * |
#3 · Zasláno: 6. 6. 2012, 17:16:29
<?php function getMicroTime() { list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } $Start = getMicroTime(); function timerFetch($Start){ $End = GetMicroTime(); print 'Completion time: '.($End - $Start).' second(s)'; } ?> |
||
Majkl578 Profil |
[#3] Alebo:
K čemu? Co jsem uvedl stačí. To, co provádíš funkcí getMicroTime, se dělalo v době PHP 4 a náhradou je právě microtime(TRUE) . Neraď tu laskavě nesmysly.
|
||
Radek9 Profil |
#5 · Zasláno: 6. 6. 2012, 17:20:19
Alebo:
Myslím si, že už jen málokdo dnes dělá s nižší verzí PHP než 5.0. Takže se podle mě můžeme spolehnout na to, že nám microTime při předání true vrátí float. |
||
ShiraNai7 Profil |
#6 · Zasláno: 6. 6. 2012, 17:22:12
Seki, Alebo:
$start = microtime(true); // nejaky kod.. echo 'Cas: '.round((microtime(true)-$start)*1000, 2).'ms'; |
||
Majkl578 Profil |
#7 · Zasláno: 6. 6. 2012, 21:24:16
ShiraNai7:
Uvedený kód je stejný jako ten můj v [#2]. Má to nějaký skrytý záměr? |
||
Seki Profil |
#8 · Zasláno: 6. 6. 2012, 21:50:57
díky všem...sám nevim, co jsem to vymyslel za podivný script :D
|
||
ShiraNai7 Profil |
#9 · Zasláno: 6. 6. 2012, 22:00:08
Majkl578:
„Uvedený kód je stejný jako ten můj v [#2]. Má to nějaký skrytý záměr?“ Nikde ve tvém skriptu nevidím definici počáteční proměnné ani volání microtime(true). Uvedený kód není v žádném případě stejný. Mám přeházet pořadí operandů, aby tě to tolik neiritovalo? |
||
Radek9 Profil |
#10 · Zasláno: 6. 6. 2012, 22:11:07
ShiraNai7:
„Nikde ve tvém skriptu nevidím definici počáteční proměnné ani volání microtime(true).“ Tipuji, že Majkl578 vycházel z kódu v [#1], tzn., že je jasné, co v proměnných $start a $end bude. |
||
ShiraNai7 Profil |
Radek9, Majkl578:
Moje chyba. Nescrolloval jsem dolů v poli s kódem a volání microtime tak neviděl. Pár šipek by bylo možná více intuitivní než hromada zelených teček. |
||
Časová prodleva: 12 let
|
0