Re: too slow to unset big array (after mem fragment)

From: Date: Wed, 19 Jan 2005 23:28:21 +0000
Subject: Re: too slow to unset big array (after mem fragment)
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-206793@lists.php.net to get a copy of this message
> Xuefer Tinys wrote: > > i have a big array with 20k elements, i have no problem building it, > > because the elements is recv from socket, i can socket_select() on 1k > > clients, read from them. > > i plan to unset the whole array every 1hour > > this is a not big problem when for a few times, it takes me 0.02 seconds > > but after many hours of running, unset will sometime takes 10 seconds. > > this is big problem because it's 1 unset() statement, and all incoming > > connection is blocked, the client may get connection time out > > > > summary: > > 1. one process, no fork (just has to be) > > 2. socket_select(), process each client's data simultaneously. some > > data will be put into array > > 3. each element value is /true/, and key is numeric(ip2long) > > $array[ip2long($ip)] = true; > > 4. fast to unset, but slow to unset after a few hours, with similar > > amount of elements A question from another naive reader. Have you tried re-setting the array to an empty one, using array(), instead of using unset()? Kirk

« previous php.general (#206793) next »