Честно говоря, C ++ немного грязный.Вы можете сделать что-то вроде создания чистой C-функции, которая обернет функциональность C ++ (которую вы затем вызываете из python), но в этот момент вы также можете написать свои тесты на C ++.К сожалению, единственный инструмент для этого (который я знаю) - это SWIG.
Печально, что он называется «упрощенной» оболочкой и генератором интерфейса, потому что в этом нет ничего простого.Если в ваших подписях есть ОЧЕНЬ примитивные типы данных (например, JUST, или, возможно, char *), это будет довольно быстрая работа.В противном случае вы должны сказать Swig, как распределить ваши типы данных между языками, и это очень уродливо очень быстро.Более того, через короткое время вы понимаете, что должны изучить API CPython, чтобы написать свой код сортировки.
И к этому моменту вы также можете написать свою собственную оболочку CPython без использования SWIG.Вы внезапно понимаете, что потратили хороший месяц на изучение нового API и чувствуете ужасное разочарование.Если вы собираетесь делать это много, это определенно стоит вашего времени.Однако, если это разовая вещь, просто напишите свои тесты на C / C ++.
(я говорю по опыту здесь)