| 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: 13 let
|
|||
0