Click here to Skip to main content
15,889,281 members
Home / Discussions / .NET (Core and Framework)
   

.NET (Core and Framework)

 
GeneralRe: Click Events in .NET Pin
S. Senthil Kumar15-Feb-05 11:05
S. Senthil Kumar15-Feb-05 11:05 
GeneralRe: Click Events in .NET Pin
sarabjs15-Feb-05 11:58
sarabjs15-Feb-05 11:58 
GeneralRe: Click Events in .NET Pin
sarabjs15-Feb-05 13:03
sarabjs15-Feb-05 13:03 
GeneralRe: Click Events in .NET Pin
S. Senthil Kumar15-Feb-05 18:26
S. Senthil Kumar15-Feb-05 18:26 
GeneralRe: Click Events in .NET Pin
sarabjs22-Feb-05 10:22
sarabjs22-Feb-05 10:22 
GeneralDeserialization throws "No Top Object" exception. Pin
ganeshvijay14-Feb-05 20:55
ganeshvijay14-Feb-05 20:55 
Generalsuitability of .net for network servers Pin
kon_t14-Feb-05 8:25
kon_t14-Feb-05 8:25 
GeneralRe: suitability of .net for network servers Pin
Mike Dimmick15-Feb-05 2:20
Mike Dimmick15-Feb-05 2:20 
It very much depends on how you write your code. Algorithmic complexity normally outweighs the exact instructions executed. Given the gap between processor speed and memory speed, you'll normally get better performance by being efficient with memory. While your code may be JIT-compiled,

I note that you're using blocking sockets. If you use a large number of threads which are mostly blocked, you'll end up thrashing the CPU cache and losing cache locality. For a really high-performance server, consider switching to asynchronous I/O.

Using asynchronous I/O in unmanaged C++ can be quite a pain. Using .NET, it's relatively easy: System.Net.Sockets.Socket provides a BeginRead method which will call a callback function on a pooled thread when data is available. This allows the server to use a smaller pool of threads to handle the requests.

It's best to create a number of static buffers for your I/O buffers. That way, they rapidly end up in generation 2 and stay there. You therefore avoid the problems with medium-life objects causing a lot of GC overhead (see Mid-Life Crisis[^]).

At present I'd suggest not using Managed C++. The syntax is changing for VS2005, and while the existing syntax will be supported, it won't be enhanced.

Stability. What an interesting concept. -- Chris Maunder
GeneralRe: suitability of .net for network servers Pin
kon_t16-Feb-05 15:42
kon_t16-Feb-05 15:42 
GeneralRe: suitability of .net for network servers Pin
Mike Dimmick17-Feb-05 2:57
Mike Dimmick17-Feb-05 2:57 
GeneralRe: suitability of .net for network servers Pin
kon_t17-Feb-05 11:46
kon_t17-Feb-05 11:46 
GeneralRe: suitability of .net for network servers Pin
Rei Miyasaka22-Feb-05 21:43
Rei Miyasaka22-Feb-05 21:43 
GeneralRe: suitability of .net for network servers Pin
Sebastian Schneider23-Feb-05 2:09
Sebastian Schneider23-Feb-05 2:09 
General.Net Control Printing Pin
khurram rasheed13-Feb-05 22:05
khurram rasheed13-Feb-05 22:05 
GeneralSummation of Hours in Dataset Pin
Vipul Mehta13-Feb-05 21:20
Vipul Mehta13-Feb-05 21:20 
GeneralRe: Summation of Hours in Dataset Pin
yasinPL17-Feb-05 14:09
yasinPL17-Feb-05 14:09 
GeneralCreate of PS Pin
sharathgowda13-Feb-05 18:10
sharathgowda13-Feb-05 18:10 
GeneralRe: Create of PS Pin
Mike Dimmick15-Feb-05 3:02
Mike Dimmick15-Feb-05 3:02 
GeneralGet Top 10 from a search engine Pin
Mohsen Saad12-Feb-05 7:38
Mohsen Saad12-Feb-05 7:38 
General.ARaw Packets Pin
Member 170239812-Feb-05 2:43
Member 170239812-Feb-05 2:43 
GeneralVisual Studio: DLL location for Debug Pin
Jerome RG12-Feb-05 0:51
Jerome RG12-Feb-05 0:51 
GeneralInformation Needed about MicroSoft Speech Server Pin
anand.narayan11-Feb-05 18:33
anand.narayan11-Feb-05 18:33 
GeneralCommunicating with a windows service from a forms application... Pin
obliojoe11-Feb-05 6:15
obliojoe11-Feb-05 6:15 
General.NET Forms: tab control flickering Pin
spoonspoon10-Feb-05 15:15
spoonspoon10-Feb-05 15:15 
GeneralTransactional hash tables Pin
Ray Cassick10-Feb-05 14:41
Ray Cassick10-Feb-05 14:41 

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.