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.

-- 
Anton
--
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