/ / обработка на сигнали: C ++ срещу C # - c #, c ++, производителност

обработка на сигнали: C ++ срещу C # - c #, c ++, производителност

Бих искал да изградя собствена обработка на сигналибиблиотека и вероятно друг за алгоритъма на графиките. Намирам C # много полезен и стабилен по отношение на възможни бъгове, свързани с разпределение на паметта, указатели, резбования и др.

Но се чудех колко ще загубя по отношение на представянето. Ще бъде ли нещо приемливо?

Благодаря

Отговори:

6 за отговор № 1

Когато започнах курса DSIP, бях чист C #разработчик . След като се огледах за известно време, завърших с помощта на C ++ библиотеки и учене на C ++, което в крайна сметка беше в моята полза, тъй като правех обработка на изображения в реално време и няма начин C # да съответства на изпълнението.

Всъщност можете да проверите бърз тест и да изпълнитематематическо уравнение, състоящо се от няколко умножения в C # и C ++ милион пъти и виж огромната разлика, че се правят изчисления с номера с плаваща запетая.

Ако имате късмет, ще получите обвивки в C #което е най-доброто от двата свята, бързо изчисление в C ++ и лесна за използване в C #. Има C # обвивка за OpenCV и изглежда доста добра (http://www.emgu.com/wiki/index.php/Main_Page).

Аз силно препоръчвам OpenCV, особено за 2D обработка на сигнали. Това е страхотно изпълнение и направи моя проект възможно. Разгледайте демото тук: http://www.youtube.com/watch?v=NeQvcdRPxoI и http://www.youtube.com/watch?v=NqYPJELHkhA


3 за отговор № 2

С подходящия хардуер не би трябвало да има проблем.

Нещо, за което да мисля, обаче: Нямам никакви проблеми, ако се опитвам да намеря библиотека, която да обработва сигнали в C ++. Въпреки това, не мога лесно да намеря много информация за обработката на сигнали за C #.

Ако можете да намерите начин да го направите, може би току-що сте намерили начин да влезете в една ниша област на развитие, че много други хора могат да се възползват от.

Просто нещо, за което да мисля. Освен ако не правите това на някаква критична система за мисиите, то вероятно няма да има значение. Аз просто ще отида с каквото си мислите, че ще ви бъде от полза повече в дългосрочен план.


3 за отговор № 3

Това не е толкова за загуба на производителност в C #но непредвидимостта на събирането на боклука. По време на GC всички управлявани нишки са замразени до завършването на GC. През това време не можете да правите никаква обработка, която за 99% от приложенията няма да има значение, но за обработката на сигнали е от критично значение. Ето защо не виждате управлявана от Microsoft версия на DirectShow или друг сигнал "в реално време" обработващи приложения.