Click here to Skip to main content
15,664,435 members
Home / Discussions / C#
   

C#

 
GeneralRe: IO completion ports and unexpected performance. Pin
scadaguy10-Jun-04 2:27
scadaguy10-Jun-04 2:27 
GeneralRe: IO completion ports and unexpected performance. Pin
Angelos Petropoulos10-Jun-04 13:25
Angelos Petropoulos10-Jun-04 13:25 
GeneralRe: IO completion ports and unexpected performance. Pin
scadaguy11-Jun-04 3:06
scadaguy11-Jun-04 3:06 
GeneralRe: IO completion ports and unexpected performance. Pin
Angelos Petropoulos11-Jun-04 3:27
Angelos Petropoulos11-Jun-04 3:27 
GeneralRe: IO completion ports and unexpected performance. Pin
k.mohan kumar28-Jan-09 20:11
k.mohan kumar28-Jan-09 20:11 
GeneralRe: IO completion ports and unexpected performance. Pin
Angelos Petropoulos11-Jun-04 1:44
Angelos Petropoulos11-Jun-04 1:44 
GeneralRe: IO completion ports and unexpected performance. Pin
scadaguy11-Jun-04 3:24
scadaguy11-Jun-04 3:24 
GeneralRe: IO completion ports and unexpected performance. Pin
Angelos Petropoulos11-Jun-04 3:37
Angelos Petropoulos11-Jun-04 3:37 
I thought of the same thing late last night, so I run a test just as you describe it; a counter that counts how many times data was read from the socket. The results were that both servers did exactly the same amount of work. This ties in with the fact that CPU utilization never reached 100% and therefore the CPU was never the bottleneck.

It is obvious that the .NET Framework does actually use something more sophisticated than an ordinary thread pool as the context switches are much lower than when using ordinary threads. This confuses me even more, because less context switches means less CPU utilization, however the IOCP solution had double the CPU utilization compared to the threads server. This means that the IOCP implementation is not just double as slow when it comes to processing data, it is even more since it is saving CPU utilization from the reduced number of context switches.

I just came across an implementation of an IOCP threadpool in C#. I haven't had a chance to read it thoroughly, but it might have some interesting insight into the .NET thread pool and IOCP.

Continuum Technologies[^]

Regards,
Angelos Petropoulos
GeneralRe: IO completion ports and unexpected performance. Pin
Angelos Petropoulos11-Jun-04 5:29
Angelos Petropoulos11-Jun-04 5:29 
GeneralRe: IO completion ports and unexpected performance. Pin
Colby James Smith1-Sep-04 10:06
Colby James Smith1-Sep-04 10:06 
Questionwhat is the differcence between close and dispose with Process instance? Pin
fu09-Jun-04 2:36
fu09-Jun-04 2:36 
AnswerRe: what is the differcence between close and dispose with Process instance? Pin
Heath Stewart9-Jun-04 2:54
protectorHeath Stewart9-Jun-04 2:54 
GeneralRe: what is the differcence between close and dispose with Process instance? Pin
fu09-Jun-04 16:52
fu09-Jun-04 16:52 
GeneralRe: what is the differcence between close and dispose with Process instance? Pin
Heath Stewart10-Jun-04 3:09
protectorHeath Stewart10-Jun-04 3:09 
AnswerRe: what is the differcence between close and dispose with Process instance? Pin
Alvaro Mendez9-Jun-04 8:45
Alvaro Mendez9-Jun-04 8:45 
GeneralCrystal Report and Dataset Pin
amatyasik9-Jun-04 2:00
amatyasik9-Jun-04 2:00 
GeneralRe: Crystal Report and Dataset Pin
Heath Stewart9-Jun-04 2:14
protectorHeath Stewart9-Jun-04 2:14 
GeneralRe: Crystal Report and Dataset Pin
Alex Getman9-Jun-04 7:00
Alex Getman9-Jun-04 7:00 
General. Pin
hssaroch9-Jun-04 1:40
hssaroch9-Jun-04 1:40 
GeneralRe: FTP and Telnet client class in C# Pin
Heath Stewart9-Jun-04 2:51
protectorHeath Stewart9-Jun-04 2:51 
AnswerRe: FTP and Telnet client class in C# Pin
sudreshan_116-Jul-09 1:08
sudreshan_116-Jul-09 1:08 
QuestionUSB port programming?? Pin
EdgarBM9-Jun-04 1:26
EdgarBM9-Jun-04 1:26 
AnswerRe: USB port programming?? Pin
Heath Stewart9-Jun-04 2:44
protectorHeath Stewart9-Jun-04 2:44 
GeneralA ListBox problem Pin
chenshch9-Jun-04 1:26
chenshch9-Jun-04 1:26 
GeneralRe: A ListBox problem Pin
Heath Stewart9-Jun-04 2:40
protectorHeath Stewart9-Jun-04 2:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.