I would like to build my own signal processing library, and possibly another one about graphs algorithm. I find C# very useful and robust in regards of possible bugs associated with memory allocation, pointers, threading etc…
But I was wondering how much am I going to lose in terms of performance. Is it going to be something acceptable?
Thanks
When I started my DSIP course I was a pure C# developer . After looking around for a while, I ended up using C++libraries and learning C++ which at end it was to my benefit since I was doing real-time image processing and there is no way C# can match the performance.
In fact, you can run a quick test and run a mathematical equation consisting of a few multiplication in C# and C++ a million times and see the huge difference that there is doing calculations with floating point numbers.
If you are lucky, you will get wrappers in C# which is the best of both worlds, fast calculation in C++ and easy to use in C#. There is a C# wrapper for OpenCV and it seems to be quite good (http://www.emgu.com/wiki/index.php/Main_Page).
I highly recommend OpenCV especially for 2D signal processing. It is great in performance and made my project possible. Have a look at the demo here: http://www.youtube.com/watch?v=NeQvcdRPxoI and http://www.youtube.com/watch?v=NqYPJELHkhA