Если стоит, то на чем предпочтительнее?
Ещё способы:
—
SWIG (поддерживает множество языков в т.ч. и Python);
—
ctypes — создаёт библиотеку на Си с нужным функционалом, собираем её и вызываем функции из созданной dll/so/pyd;
—
Python C API.
Если я сделаю эту функцию на С++ возрастет ли потребление памяти?
Более чем вероятно, что уменьшится. Переменные в Python требуют больше памяти, чем переменные в Си (напр. из-за метаданных и пр.).