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