alexx11
Давай распутаем
Хорошо, я попробую первый шаг. Изложу вышесказанное, на пальцах.
Типичный проект, который надо оптимизировать
1. Кодинг букв на Python.
2. Выбор критических участков кода, подлежащих оптимизации.
3. Перевод этой части кода в Cython.
4. Сборка. Теперь мы имеем проект на двух языках, который надо собирать двумя различными сборщиками. Вообще говоря не сложно.
5. Запуск. Тестирование.
6. ??? Проделать пп1-5 N раз.
7. PROFIT
Одни хитрые люди подумали, что если меньше собирать то можно больше кодить, и решили сделать п.3 такой что б он был на 2 языках одновременно (т.е. совместить с п.1), а переключался препроцессором. В таком случае сборка понадобится всего лишь один раз, непосредственно перед п.7, все остальные разы это обычный проект на Python. А хитрые они потому что препроцессора в питоне нет, а gpp перекручен через одно место.
Да ещё, чуть не забыл ещё: п4 включает в себя ловлю блох на Cython, что при каждой сборке должно “доставлять” тру питонеру.