Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czas generowania strony
Forum PHP.pl > Forum > PHP
Seth
Potrzebuje skryptu (znowu :oops: ), ktory poda mi czas wygenerowania strony.
Tak samo jak to ma miejsce na forum na samym dole strony.
castor
microtime() na poczatku skryptu i na koncu
teraz odeimij od konca poczatek i masz :wink:
castor
ten sam Seth co na Nethucie?
Mistycus
Na początku daj
Kod
$start=microtime();
, a na końcu
Kod
$koniec=microtime();

$czas=$koniec-$start;

echo"Strona została wygenerowana w czasie $czas s.";
Seth
Cytat
ten sam Seth co na Nethucie?


Nie smile.gif

Mistycus dzieki dziala biggrin.gif
Mistycus
Cieszę się, że mogłem pomóc smile.gif smile.gif smile.gif
castor
A czy ktos z was to wogole sprawdzil?? laugh.gif laugh.gif
castor
Widze ze tu nikt nie sprawdza skryptow
laugh.gif laugh.gif laugh.gif laugh.gif laugh.gif laugh.gif

poczytaj o microtime() co ona wydaje?

dwie dane...
...czas w microsekundach i sekundach rozdzielony spacja.

Wiec to co on ci napisal jest zle bo nie daj prawdy ja mam:

na poczatku:
Kod
$s=microtime();

$s=explode(" ",$s);

$s=$s[1]+$s[0];



na koncu:
Kod
$k=microtime();

$k=explode(" ",$k);

$k=$k[1]+$k[0];

$c=$k-$s;



echo"Czas wykonania skryptu: $c s.";
kryr
A Ty sprawdziles ten skrypt? 8O
Kod
$s=microtime();

$s=explode(" ",$s);

$s=$s[1]+$s[0];

Czyli co? Dodajesz sekundy do mikrosekund?
Czyli jezeli strona generowala sie 1.8 to otrzymasz 9?
Chyba niezbyt dobre... :?
castor
rolleyes.gif Ahha a jak ty bys to zrobil?questionmark.gifquestionmark.gif?

:?: :?: :?: :?: :?:
kryr
naglowek
Kod
$tmp = microtime();

$czas1 = explode(' ', $tmp);


stopka
Kod
$tmp = microtime();

$czas2 = explode(' ', $tmp);

$czass = $czas2[0] - $czas1[0];

$czasms = $czas2[1] - $czas1[1];



print('Wygenerowano w: $czass . $czasms sec.');


Nie sprawdzalem! :wink: laugh.gif
castor
Cytat
Nie sprawdzalem!  

WIDAC :!: :!: laugh.gif laugh.gif laugh.gif


wejdz tu i zobacz :

www.gregspage.de/wczasie/wczasie.php

poodswiezaj pare razy to dojdziesz o co mi chodzi biggrin.gif

bo czasami twoj wynik bedzie minusowy biggrin.gif
a wez to sprawdz ze stoperem.

poierwsza pozycja ktora wydaje microtime() to nic innego jak sekundy po przecinku i dlatego bez problemu mozna to dodac do sekund to tak samo jak :

1000 mozesz dodac do 0.456 i otrzymasz 1000.456 na ale to juz podstawowka biggrin.gif
kryr
Bo microtime() zwraca mikrosekundy z 0. na poczatku?
:oops: :oops: :oops: :oops: :oops: :oops: :oops:
Rejszon! Zwracam honor!
rolleyes.gif rolleyes.gif rolleyes.gif rolleyes.gif rolleyes.gif rolleyes.gif rolleyes.gif
Nierozumiem tylko jednej zeczy... 1018964839-1018964838=1018964838.2332 cosik tu jest nie tak... choc nie zmiena to faktu, ze sie rabnolem jak nigdy :wink:
castor
Spoko kazdemu sie moze to zdazyc 8)

a tego co nieroumiesz to odpowiedz jest taka ze wydajac te zmienne na ekranie wydajesz tylko dziesiec pozycji tzn.:

jeslimasz 12345678901.123456 to wyda na ekranie : 1234567890

i dlatego wychodza czasami takie wyniki bo php liczy calosc a nie tylko to co jest wydawane :wink:

ALe nie pytaj mnie jak to zmienic zeby wydawalo cala zmienna bo niewiem :?:
Seth
Uzylem tego skryptu co podal mi Mistycus i tak sie zastanawialem: czy mam tak szybki komputer, ze w 0 sek. tworzy mi strone biggrin.gif czy cos jest nie tak ze skryptem.
Wprowadzilem kilka zmian i juz jest ok.

HeHe, bede mial nauczke na przyszlosc , zeby nie wierzyc do konca cudzym skryptom :wink:
Mistycus
Seth, to dziwne, bo u mnie mój skrypt działa doskonale.
Seth
U mnie caly czas pokazywal 0 sek.
castor
[quote]Seth

Czasami dziala dobrze, ale tylko jesli nskrypt wykona sie w czasie mniejszym niz jedna sekunda i jego start oraz koniec znajda sie w zakresie jednej sekundy.

Ale to zdarza sie bardzo zadko :wink:

zerknij w linka ktory dalem wczesniej :wink:
Mistycus
Cytat
Czasami dziala dobrze, ale tylko jesli nskrypt wykona sie w czasie mniejszym niz jedna sekunda i jego start oraz koniec znajda sie w zakresie jednej sekundy.

Masz rację Castor; dodałem do mojego skryptu:
Kod
$n=0;

while($n<1000000){$n++;};
Pętla ta ma za zadanie wydłużyć czas wykonywania skryptu. Nic z tego - nadal podaje mi tysięczne wartości sekundy (0.184708 itp.), a czasami czas jest nawet ujemny. W przeciwieństwie do tego, co mówił Seth całego 0nigdy mi nie pokazuje. Mimo to podaje zły czas i to jest istotne. Przepraszam Castora i Seth'a 8) . Ale mi wstyd. :oops: :oops: :oops: :oops:
Mistycus
Cytat
zerknij w linka ktory dalem wczesniej :wink:


Zerknąłem i pierwsze, co dostrzegłem, to błąd w moim nicku :?
Mistycus
Oj Castorku, chyba będę musiał cofnąć przeprosiny laugh.gif Twój skrypt również źle działa. Nie zastanawiałeś się może: dlaczego czasami microtime() pod koniec wykonywania jest mniejszy niż na początku i czemu wartość przed kropką zawsze jest równa 0 :?: :idea: Otóż aby odczytać aktualny czas należy użyć time()+microtime() :idea:

W celu przetestowania tej metody, użyłem nastęoującego skryptu:
Kod
<?

$start=time()+microtime();

$n=0;

while($n<1000000){$n++;};

$koniec=time()+microtime();

$czas=$koniec-$start;

echo"Strona została wygenerowana w czasie $czas s.";

?>


Przetestuj sobie go zmieniając wartość w warunkach pętli przedłużającej działanie skryptu :roll[/b]
castor
Oj Mistycus 8)

Sprawdz sobie wszytsko do konca i przeczytaj moje posty :!: :!:

a to:
Kod
  $a=time()+microtime();


to prawie to samo co :
Kod
$b=explode(" ",microtime());

$b=$b[1]+$b[0];
tylko ze moje jest dokladniejsze :wink:

pobaw sie troche time() i microtime() zobacz dokladnie co zwaraca microtime() i bedziesz wiedzial o co mi chodzi
a tu masz przyklad
Kod
$a=time()+microtime();

$b=explode(" ",microtime());

$b=$b[1]+$b[0];

echo "a:$a <br> b:$b";



A tak poza tym to widze ze ten microtime() ci spacnie daje co laugh.gif
kryr
egh?!
Ludzie...juz castor wytlumaczyl jak dziala microtime() !
Ta funkcja zwraca nie liczbe, ale stringa: '0.mikrosekundy sekundy'
np: '0.3332231 2134343', w tym wypadku time() tez zwroci 2134343...
Rozumiecie?
castor
Cytat
Oj Castorku, chyba będę musiał cofnąć przeprosiny laugh.gif Twój skrypt również źle działa.


Pokaz gdzie on niby zle dziala :?: :?:
laugh.gif laugh.gif laugh.gif laugh.gif

minusowy to wychodzi czasem twoj a nie moj wynik laugh.gif laugh.gif
castor
EOT
Mistycus
8O Ty jesteś poprostu mistrzem Castorze. 8O
:idea: Dopiero teraz zauważyłem, że microtime() najpierw zwraca milisekundy, a dopiero sekundy. :idea:
:? Swoją drogą to trochę dziwne: zero, kropka, milisekundy, spacja, sekundy :?
Na dodatek przy dodawaniu do microtime()jakiejś liczby, microtime zwraca: zero, kropka, milisekundy bez spacji i sekund.

8O rolleyes.gif Cuda się dzieją tongue.gif :wink:
kryr
Szczerze mowiac ja tez tego nie rozumiem...
Nie lepiej, zeby np: time() zwracal sekundy a microtime() mikrosekundy?
castor
Cytat
:? Swoją drogą to trochę dziwne: zero, kropka, milisekundy, spacja, sekundy :?



ta funkcja nie zwraca zero ,kropka itd.

sekundy po przecinku z dolkladnoscia do 100milionowej plus po spacji sekundy .

Dla mnie to nie jest dziwne.

Logiczne... bo mam wartosc z dokladnoscia co do 100milionowej sec.

a co mi daje sama ta wartosc jesli nie wiem do ktorej sekundy mam to doczepic.

A ta funkcja zwraca wszystkie potrzebna parametry
Mistycus
Cytat
sekundy po przecinku z dolkladnoscia do 100milionowej plus po spacji sekundy .
Cytat
A ta funkcja zwraca wszystkie potrzebna parametry

Czemu nie zwraca sekund przed milisekundami :?:
Czy nie lepiej byłoby tak: sekundy, kropka, milisekundy :?:
kryr
No... chyba tak bylo by najlepiej :?:
castor
za ta reklamacja to do ZEND prosze :wink:


a mam jeszcze jedno pytanie:

czy milisekunda to 0.00000001 czy moze 0.001 :?:
Mistycus
Cytat
czy milisekunda to 0.00000001 czy moze 0.001 :?:


Jak się zwał tak się zwał - mówiąc milisekunda miałem na myśli mikroczas(a może jeszcze co innego :? rolleyes.gif ) 8)
kryr
przedrostek mili to 10^-3 czyli 0.001
milisekunda to wlasnie 0.001 czesc sekundy (i na pewno nie 1/60 :wink: )
a przedrostek mikro to 10^-6
:wink: 8)
castor
a jak zwal takie cos:

10^-8 czyli 0.00000001
kryr
W SI jest tylko: peta, tera, giga, mega, kilo, hekto, deka, decy, centy, mili, mikro, nano, piko, femto, atto
10^-8 nie ma, a wiec mozesz go nazwac winksmiley.jpg
Seth
No prosze zadalem na pozor proste pytanie, a rozpisaliscie sie tak, ze juz sam nie wiem o co chodzi :wink:
Mistycus
[b]Nie cieszysz się Seth, że temat, który dałeś, cieszy się takim powodzeniem - 35 postów (razem z tym będzie już 36)?

Powinieneś: biggrin.gif smile.gif 8) laugh.gif tongue.gif biggrin.gif smile.gif 8) laugh.gif tongue.gif biggrin.gif smile.gif 8) laugh.gif tongue.gif biggrin.gif smile.gif 8) laugh.gif tongue.gif biggrin.gif smile.gif 8) laugh.gif tongue.gif biggrin.gif smile.gif 8) laugh.gif tongue.gif biggrin.gif smile.gif 8) laugh.gif tongue.gif biggrin.gif smile.gif 8) laugh.gif tongue.gif biggrin.gif smile.gif 8) laugh.gif tongue.gif :!: :!: :!: :!: :!: :!: :!: :!:
Seth
I'm happy 8)
Widmo
to ustalcie wreszcie dobry skrypt - to raz -

dwa to wytlumaczcie mi - dlaczego co 5-6 razy czas generacji jest UJEMY 8O -

jestem trochwe w szoku... :]
Dawid Pytel
Oto dwa przydatne linki:

http://www.phpfreaks.com/tutorials/121/0.php
http://www.phpbuilder.com/columns/akent200...26.php3?aid=112

mam nadzieję, że bedą pomocne smile.gif
wassago
nie czytalem calego topiku.. ale chyba nikt nie podal przykladu z PEAR rodem :] a wiec dla przypomnienia:
Kod
/php/PEAR/Benchmark/Timer.php

ladny kod, dziala bez zarzutu, no i oczywiscie o smaku gruszki (PEAR), a to lubimy najbardziej :wink: sam uzywam i sobie chwale.
DeyV
Nie - no topic niesamowity.
Jak wyście go wygrzebali z lamusa...

I my się czasem wkurzamy, że forum w dzisiejszych czasach ma "niski" poziom. Jak teraz co 3 post mówi albo o OOP, albo o MVC, albo o UML. aaevil.gif

Hihihih. 30 postów o microtime. laugh.gif To były czasy. Aż się łęzka w oku zakręci winksmiley.jpg

Szkoda że nie wszyscy z ekipy z tamtych czasów dotrwali z nami do teraz...
wassago
OT:
o fak.. tak mi sie cos wydawalo, ze taki post w stylu oldboy'ow nie jest na czasie :wink: teraz dopiero zobaczylem ze topik taki stary jest. Pomyslec, ze dopiero 2 miechy po tym temacie dolaczylem do forum.
Cytat
Szkoda że nie wszyscy z ekipy z tamtych czasów dotrwali z nami do teraz...

racja DeyV, racja..
Seth
[ot]
Cytat
Aż się łęzka w oku zakręci winksmiley.jpg

True smile.gif

Swoja droga ciekaw jestem co z castorem, mistycusem, kryrem... ?

Kiedys bodajze Mac byl na irc'u, ale tez hmm przelotem.
[/ot]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.