Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #7526
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Newsgroups | comp.lang.php |
| Subject | Re: php daemon |
| Date | 2012-11-11 16:36 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <k7p5oh$bco$1@dont-email.me> (permalink) |
| References | <k7omm2$lbq$1@news.albasani.net> <k7osrj$ipv$2@dont-email.me> <k7p0ch$urc$1@speranza.aioe.org> <k7p27m$kte$1@dont-email.me> <k7p4t3$ap2$1@speranza.aioe.org> |
On 11/11/2012 4:22 PM, Christoph Becker wrote: > Jerry Stuckle wrote: >> On 11/11/2012 3:05 PM, Christoph Becker wrote: >>> Jerry Stuckle wrote: >>>> All you can do is unset() variables. However, this does not release >>>> memory immediately. It would wait for the garbage collector to run. >>> >>> I'm very much surprised. I /assumed/ that PHP uses reference counting, >>> which would typically release the allocated memory as soon as the >>> reference count of a value is 0. >>> >> >> It does. But memory is not released until the garbage collector is run. >> See the PHP documentation. > > Thanks for the pointer to the PHP documentation. According to > <http://php.net/manual/en/features.gc.refcounting-basics.php>: > > | A PHP variable is stored in a container called a "zval". A zval > | container contains, besides the variable's type and value, two > | additional bits of information. > | [...] > | Variable containers get destroyed when the "refcount" reaches zero. > | [...] > | Again, when the "refcount" reaches zero, the variable container is > | removed from memory. > > As this simple reference counting garbage collection isn't able to free > circular structures, a garbage collector [1] to do so was introduced in > PHP 5.3. Unfortunately the documentation isn't particularly clear here: > > | If the refcount is decreased and hits zero, the zval can be freed. > > But from the subsequent documentation I conclude, that the zval is > actually freed, when the refcount is decreased to zero. > > [1] <http://www.php.net/manual/en/features.gc.collecting-cycles.php > No, that is the purpose of the garbage collector - which runs occasionally at times determined by the php.ini file. Notice the documentation says the zval CAN be freed - not the zval WILL be freed. Two entirely different statements. This is for performance reasons. It is much more to the running script efficient to free a group of unused pieces of memory asynchronously than to free the memory synchronously (every time the refcount goes to zero). Note that PHP is not the only language to do it this way. Java does also, for instance. -- ================== Remove the "x" from my email address Jerry Stuckle JDS Computer Training Corp. jstucklex@attglobal.net ==================
Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
php daemon "sl@exabyte" <sb5309@hotmail.com> - 2012-11-12 01:18 +0800
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-11 14:04 -0500
Re: php daemon Christoph Becker <cmbecker69@gmx.de> - 2012-11-11 21:05 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-11 15:35 -0500
Re: php daemon Christoph Becker <cmbecker69@gmx.de> - 2012-11-11 22:22 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-11 16:36 -0500
Re: php daemon Christoph Becker <cmbecker69@gmx.de> - 2012-11-11 23:17 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-11 18:11 -0500
Re: php daemon Christoph Becker <cmbecker69@gmx.de> - 2012-11-12 14:35 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-12 08:38 -0500
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-13 07:44 -0500
Re: php daemon Christoph Becker <cmbecker69@gmx.de> - 2012-11-14 21:19 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-14 16:33 -0500
Re: php daemon Christoph Becker <cmbecker69@gmx.de> - 2012-11-14 23:13 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-15 07:41 -0500
Re: php daemon Christoph Becker <cmbecker69@gmx.de> - 2012-11-15 16:55 +0100
Re: php daemon "sl@exabyte" <sb5309@hotmail.com> - 2012-11-12 23:45 +0800
Re: php daemon The Natural Philosopher <tnp@invalid.invalid> - 2012-11-12 16:08 +0000
Re: php daemon Goran <goran@nospam.com> - 2012-11-13 08:57 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-13 07:47 -0500
Re: php daemon Goran <goran@nospam.com> - 2012-11-13 14:54 +0100
Re: php daemon The Natural Philosopher <tnp@invalid.invalid> - 2012-11-13 14:13 +0000
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-13 12:23 -0500
Re: php daemon Goran <goran@nospam.com> - 2012-11-14 08:43 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-14 05:51 -0500
Re: php daemon Goran <goran@nospam.com> - 2012-11-15 14:08 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-15 08:46 -0500
Re: php daemon Goran <goran@nospam.com> - 2012-11-15 16:09 +0100
Re: php daemon Jerry Stuckle <jstucklex@attglobal.net> - 2012-11-15 11:25 -0500
Re: php daemon Tim Streater <timstreater@greenbee.net> - 2012-11-15 16:20 +0000
csiph-web