set_time_limit vs sleep

View: New views
6 Messages — Rating Filter:   Alert me  

set_time_limit vs sleep

by Vasóczki Ferenc :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Sziasztok!
 
Ez vajon miért így működik?
 
set_time_limit(1);
sleep(1);
echo "A";
 
van amikor kiírja az A-t, és van amikor nem, mert kifutott az 1mp -ből.
Ez normális?
 
Arra gondolna az ember, hogy akármilyen kis akció elvesz tőle minimum valami nagyon icipici időt:
A másik:
 set_time_limit(1);
 echo "A";
 sleep(1);
 set_time_limit(30);
 echo "B";
 exit;
 
Van amikor AB, van amikor maximum execution...

--
Weblabor hírlevél: http://weblabor.hu/hirlevel
--
wl-phplista (wl-phplista@...) levelezőlista
https://bors.hoszting.com/mailman/listinfo/wl-phplista
Keresheto archivum: http://weblabor.hu/kereses
--
etikett: http://weblabor.hu/levlistak/illemszabaly
offlista: https://weblabor.hu/levlistak

Re: set_time_limit vs sleep

by felho :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> Ez vajon miért így működik?
> set_time_limit(1);
> sleep(1);
> echo "A";
Nem 100%-osan pontosak ezek.

> Van amikor AB, van amikor maximum execution...
Ez pontosan az, mint az előző eset.


Üdv,
Felhő
--
Weblabor hírlevél: http://weblabor.hu/hirlevel
--
wl-phplista (wl-phplista@...) levelezőlista
https://bors.hoszting.com/mailman/listinfo/wl-phplista
Keresheto archivum: http://weblabor.hu/kereses
--
etikett: http://weblabor.hu/levlistak/illemszabaly
offlista: https://weblabor.hu/levlistak

Re: set_time_limit vs sleep

by Hofferek Attila :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Vasóczki Ferenc írta:
> Sziasztok!
>  
> Ez vajon miért így működik?

Azért mert nem egy realtime oprendszeren futtatod, hanem millió processz
versenyzik a processzorért, és sohasem tudni mikor kerül sorra az éppen
vizsgált.
--
Weblabor hírlevél: http://weblabor.hu/hirlevel
--
wl-phplista (wl-phplista@...) levelezőlista
https://bors.hoszting.com/mailman/listinfo/wl-phplista
Keresheto archivum: http://weblabor.hu/kereses
--
etikett: http://weblabor.hu/levlistak/illemszabaly
offlista: https://weblabor.hu/levlistak

Re: set_time_limit vs sleep

by felho :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> Azért mert nem egy realtime oprendszeren futtatod, hanem millió processz
> versenyzik a processzorért, és sohasem tudni mikor kerül sorra az éppen
> vizsgált.
Először én is erre gondoltam, de szerintem ennél árnyaltabb a kép, igaz
az a gondolat, hogy "valami nagyon rövid ideig azért kell tartson az az
echo", és szerintem a fenti ezt még nem magyarázná meg. Gondolom valami
olyasmi van itt a háttérben, hogy az idő lejárta nem folyamatosan kerül
ellenőrzésre, hanem x időközönként, és néha be tud csúszni a kiírás két
ellenőrzés közé, néha nem.

De ez csak tipp, nem tudom, hogy egy ilyen időzítéssel kapcsolatos
dologot hogyan szoktak megvalósítani. Aki tudja, ne tartsa vissza. :)


Üdv,
Felhő
--
Weblabor hírlevél: http://weblabor.hu/hirlevel
--
wl-phplista (wl-phplista@...) levelezőlista
https://bors.hoszting.com/mailman/listinfo/wl-phplista
Keresheto archivum: http://weblabor.hu/kereses
--
etikett: http://weblabor.hu/levlistak/illemszabaly
offlista: https://weblabor.hu/levlistak

Re: set_time_limit vs sleep

by Jenei Viktor Attila :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Szia!

   Ez mit ír ki?

$st = array_sum (explode (' ', microtime ()));
sleep (1);
echo round ((array_sum (explode (' ',microtime ())) - $st), 7);

Ha jól emlékszem, akkor régebben a sleep nem számított bele a set_time_limitbe (így viszont igen,amikor véget ér).

Amúgy még régebben a php.net-nek jeleztem azt, hogy ha egy függvény beragad valami okból kifolyólag, akkor azt az istenért sem szünteti meg a
php set time limit. Erre példa mondjuk egy echo bcpow(9,9999999); eléggé megfog bármilyen szervert (hát még ha 1000 szálon történik a futtatás).
Reagálás: nem az övék a bcpow, és nem javítanak ki egy ilyen problémát (hogy beépített fv futtatása közben is legyen timelimit)

2008/7/21 Gergely Hodicska <felho@...>:
> Azért mert nem egy realtime oprendszeren futtatod, hanem millió processz
> versenyzik a processzorért, és sohasem tudni mikor kerül sorra az éppen
> vizsgált.
Először én is erre gondoltam, de szerintem ennél árnyaltabb a kép, igaz
az a gondolat, hogy "valami nagyon rövid ideig azért kell tartson az az
echo", és szerintem a fenti ezt még nem magyarázná meg. Gondolom valami
olyasmi van itt a háttérben, hogy az idő lejárta nem folyamatosan kerül
ellenőrzésre, hanem x időközönként, és néha be tud csúszni a kiírás két
ellenőrzés közé, néha nem.

De ez csak tipp, nem tudom, hogy egy ilyen időzítéssel kapcsolatos
dologot hogyan szoktak megvalósítani. Aki tudja, ne tartsa vissza. :)


Üdv,
Felhő


--
Weblabor hírlevél: http://weblabor.hu/hirlevel
--
wl-phplista (wl-phplista@...) levelezőlista
https://bors.hoszting.com/mailman/listinfo/wl-phplista
Keresheto archivum: http://weblabor.hu/kereses
--
etikett: http://weblabor.hu/levlistak/illemszabaly
offlista: https://weblabor.hu/levlistak

Re: set_time_limit vs sleep

by felho :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> De ez csak tipp, nem tudom, hogy egy ilyen időzítéssel kapcsolatos
> dologot hogyan szoktak megvalósítani. Aki tudja, ne tartsa vissza. :)
Meglett közben, man setitime: "The system provides each process with
three interval timers...".


Üdv,
Felhő
--
Weblabor hírlevél: http://weblabor.hu/hirlevel
--
wl-phplista (wl-phplista@...) levelezőlista
https://bors.hoszting.com/mailman/listinfo/wl-phplista
Keresheto archivum: http://weblabor.hu/kereses
--
etikett: http://weblabor.hu/levlistak/illemszabaly
offlista: https://weblabor.hu/levlistak
LightInTheBox - Buy quality products at wholesale price