C# to Native C++
От: barn_czn  
Дата: 09.09.09 06:52
Оценка:
Доброго дня всем.
Кто нибудь знает, как сделать сабж?
Нагуглил вот это : http://www.tangiblesoftwaresolutions.com/?gclid=CNeQqPjz45wCFVWF3godKjU3Gw
но демка так ничего и не сконвертила.

Корни проблемы растут вот откуда. Есть у меня своя либа на C#, в которой реализованы алгоритмы обработки изображения.
Алгоритмы юзают OpenCV (т.е. сделаны .NET обертки над CvMat, CvArr и другими типами OpenCV).
В целом получается очень даже удобно экспериментировать с алгоритмами, юзать любые фичи OpenCV. Намного проще чем колбасить код
на С/С++, особенно если учесть что опыта на С практически нет.
Перфоманс на стадии экспериментов меня вполне устраивает.

Начал дальше работать над перфомансом и вот проблема: unsafe код, работающий напрямую с указателями (double*) работает все равно медленее чем тот же код (один в один) написаный и скомпиленный в нативной dll (даже с затратами на интероп). Не понимаю почему, ведь чисто unsafe код, без использования .NET массивов и других классов..

Остается один выход — узкие места переносить в нативный С++ код. А это ведет к копипасту (полному или частичному) классов из C# кода в С++.
Отсюда желание как то это автоматизировать. Ведь если в коде нет использования чисто .NET-овских классов — то это вообшще должно быть просто.

Кто что думает? Переходить полностью на С++ у меня нет ни желания ни времени.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.