Моя проблема: я обнаружил, что обработка больших наборов данных с необработанным С++ с использованием STL-карты и вектора часто может быть значительно быстрее (и с меньшим объемом памяти), чем с использованием Cython.
Я полагаю, что часть этого штрафа за скорость связана с использованием списков Python и dicts и что могут быть некоторые приемы использования менее обремененных структур данных в Cython. Например, эта страница (http://wiki.cython.org/tutorials/numpy) показывает, как быстро сделать массивы numpy в Cython, предопределив размер и типы массива ND.
Вопрос: Есть ли способ сделать что-то подобное со списками /dicts, например. указав примерно, сколько пар или пар (ключ, значение) вы ожидаете иметь в них? То есть, существует ли идиоматический способ преобразования списков /dicts в (быстрые) структуры данных в Cython?
Если нет, я думаю, мне просто нужно написать его на С++ и обернуть в импорт Cython.