Groups | Blog | Home
all groups > iis smtp nntp > february 2006 >

iis smtp nntp : .NET SMTP sink perfomance


md
2/11/2006 8:38:49 PM
Hello

What's the performance impact of running a .NET smtp sink? Is is much slower
compared to delphi and/or c++?

Thanks

Marco

Sanford Whiteman
2/13/2006 12:16:59 AM
[quoted text, click to view]

The answer is, per usual: it depends. A C++ sink could give you a
2x-10x performance edge over an exactly equivalent .NET sink due
purely to differences in the runtime environment. Yet in the real
world, you're far more likely to encounter performance ceilings in a
sink due to overuse of the CDO API (rather than writing your own
functions or using higher-performance third-party libraries), or due
to overuse of poorly performing .NET classes and integrated controls,
or due to other stuff you just shouldn't try to do in the relatively
uncontrollable environment of a public-facing MX (hint: semaphores and
such are definitely your friend if you can't control the number of
concurrent connections, and thus concurrent function calls), than you
are to really choke simply because you've chosen .NET. So, it
depends. . . on what your sink is trying to do, how much time it has
to do it, and how many other instances (i.e. msgs/sec or msgs/day) are
going to try to do it at the same time on the same box.

My opinion is that the developer-facing kludges currently necessary to
implement managed sinks make for uglier code, regardless of the
user-facing performance issues, and since the managed code simply
cannot give you higher performance (though it may give you essentially
equivalent perf), I still stick with C++. Also, I'd say the chances
are slim that these kludges will be necessary in future as the sink
API becomes more readily .NET-compatible, so you'll end up rewriting
your interim ugly code, anyway. So it may come down to your comfort
level with C++/Delphi vs. your desire to "live" completely within the
..NET IDE going forward, etc.

Sorry I can't be less general, but it seems to really depends on a
sink's actual specifications.

md
2/13/2006 8:31:15 PM
Thanks for your anwer.. What i basically want to do is catch the email,
analyze some of the properties (from/to/cc/Message-ID and some other
X-"custom properties") and depending on the values of the properties store a
copy somewhere else.. I think the best way is dropping the email completely
in directory and periodically scan that directory in another
service/application...

So basically what i currently need is a "high speed" email catcher to a
specific directory.. maybe there's already a product that does this..

Thanks

Marco

[quoted text, click to view]

AddThis Social Bookmark Button