Re: [twsocket] FYI: asynchronous sockets on Linux

2010-12-07 Thread Fastream Technologies
Hello Arno, On Tue, Dec 7, 2010 at 1:57 PM, Arno Garrels wrote: > Fastream Technologies wrote: > > As far as I know, the TStringList->AddObject() method uses binary > > search for finding the correct index to insert when > > TStringList->Sorted = true. I don't know why I thought so but there > >

Re: [twsocket] FYI: asynchronous sockets on Linux

2010-12-07 Thread Arno Garrels
Fastream Technologies wrote: > As far as I know, the TStringList->AddObject() method uses binary > search for finding the correct index to insert when > TStringList->Sorted = true. I don't know why I thought so but there > is the method, Yes, it actually uses function QuickSort but that is still

Re: [twsocket] FYI: asynchronous sockets on Linux

2010-12-07 Thread Fastream Technologies
Hi Arno, On Tue, Dec 7, 2010 at 12:42 PM, Arno Garrels wrote: > Fastream Technologies wrote: > > Hello, > > > > 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

Re: [twsocket] FYI: asynchronous sockets on Linux

2010-12-07 Thread Arno Garrels
Fastream Technologies wrote: > Hello, > > 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

Re: [twsocket] FYI: asynchronous sockets on Linux

2010-12-06 Thread Fastream Technologies
Hello, 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 some othe

[twsocket] FYI: asynchronous sockets on Linux

2010-12-06 Thread Anton S.
The thing that ICS would sometimes become multi-platform is great! I myself have quite little knowledge of what things are on *nix but I found an article that seems like a good start. It describes several approaches to doing async on *nix. I think it would be easier to use one of these and keep