Итак, мой текущий проект в основном на Python, но я собираюсь переписать наиболее дорогостоящие на C ++ части в вычислительном отношении, чтобы попытаться повысить производительность. Многое из этого я могу достичь с помощью простых функций, загружаемых из файлов DLL, но не всего. У меня есть многомерный массив в Python, с которым я хочу выполнять операции в C ++ (в частности, A * pathfinding), но я не совсем уверен, как их переводить, и постоянная отправка данных по одному фрагменту за раз в загруженную функцию кажется действительно неэффективно (первые два измерения массива находятся в младших сотнях, и функции должны будут иметь дело с десятками, если не сотнями, элементов в массиве за один раз).
Моя идея заключалась в том, чтобы иметь класс в C ++, который создает свою собственную копию массива при настройке (где производительность не столь важна) и имеет методы, которые выполняются над массивом и возвращают данные в основной Python программа. Тем не менее, я не уверен, как это сделать, и даже если это правильный путь для такой вещи; Казалось бы, это означает, что код C ++ работает параллельно основной программе на Python, а интуиция подсказывает мне, что это плохая идея.
Я мало что знаю об интеграции C ++ и Python, за исключением того, как загружать простые функции через cTypes в Python, поэтому я очень ценю некоторые указатели здесь. Имейте в виду, что я относительно новичок в C ++; большая часть моего опыта программирования на Python. Каков наилучший способ совместить их в этой ситуации?