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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux