Anton S. wrote:
> I dared to start the discussion in a separate thread.
> 
>> I have seen a bottleneck in ICS with tens of thousands of clients:
>> When a client is disconnected the TWSocketServer calls
>> FClientList->IndexOf() for finding the index to remove the object!
>> IndexOf is simply exhaustive search and it is a huge CPU hog when
>> there are 30k clients! 
> In the one old internet component library implemented a hashed list
> to store sockets. Hash is computed as Integer(SocketHandle) div
> HashBase and in that position of the array the first socket object is
> stored with pointer to the next socket object having the same hash
> (simple one-d\irectional list). But I'm unsure whether this way is
> much better.     
> 
>> In most cases IndexOf() is not used frequently if not just once
>> when the client disconnects from the server.
> Doesn't it used in HTTP server every time response is sent? It
> happens pretty often.

I don't think so, why should it?
 
-- 
Arno Garrels
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to