Heavy Ports?

I have been writing a simulator and experimenting with CCR Ports. I am using the handler in the arbiter to post messages other simulator tiers – the listeners on the other tiers are WCF endpoints.

I was pretty happy with the performance/behavior of one port. So, I thought why not make a list of N ports and then send N times as many messages. To my surprise, not only did messaging not increase, it actually went down. Interestingly, if I only used one port and increased the threads on the “Dispatcher”, I fared much better.

I have a dual processor box with quad cores and 24GB of RAM. Am I fully grasping the port paradigm or am I missing something?

[677 byte] By [iWarrior] at [2008-2-18]
# 1

I dont see why multiple ports would bring performance down, unless you allocate them for every message, where before you only allocated a port once and kept re-using them.

Using more ports, will *usually* speed up things (our tests show that, since there is less contention) however there are still CLR objects so GC will increase if more things come and go. Ports are small (you can see this using the memory analyzers) and lighweight.

Can you provide a bit more detail and maybe the actual perf numbers? Something wierd might be going on or there is something we have not run into

g

GeorgeChrysanthakopoulos at 2007-10-3 > top of Msdn Tech,Microsoft Robotics Studio,Microsoft Robotics - Concurrency and Coordination Runtime (CCR)...

Microsoft Robotics Studio

Site Classified