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