Смешивание python с более быстрым языком для оптимизации в GAE

Я новичок в мире Python и GAE, и у меня есть вопрос. С Python обычным подходом является только оптимизация кода при необходимости, исправление более узких мест. И один из способов добиться этого - переписать наиболее важные части программы в C.

Используя GAE, мы теряем эту возможность навсегда? Поскольку Язык Google Go теперь (или он будет, как только он будет скомпилирован более эффективно), самый быстрый язык в GAE, будет ли способ смешивать Python и Go в том же приложении? Какие другие способы могут быть использованы для достижения аналогичного результата?

Ответ 1

См. Могу ли я написать части кода Google App Engine на Java, другие части на Python?, как использовать несколько языков.

В принципе, каждая версия данного приложения может использовать только один язык выполнения.

Но у вас могут быть две разные версии вашего приложения, написанные на разных языках, и они могут передавать информацию взад и вперед через хранилище данных.

Кроме того, у вас могут быть два разных приложения на двух разных языках, и вы можете передавать информацию туда и обратно через запросы.

Ответ 2

Я думаю, что вы впадаете за преждевременную оптимизацию. Почти для всех webapps большая часть времени проведена в RPC, ожидая, что остальная часть системы сделает что-то вроде запросов к хранилищу данных. Из остатка значительная часть часто проводится в коде C в любом случае. Существует относительно мало webapps, которые должны выполнять много процессорной работы, чтобы обслуживать типичный запрос.

Если ваше приложение является одним из них, вы можете захотеть пересмотреть запись всего своего приложения в Python, учитывая отсутствие C-расширений в App Engine и выбрать Java или Go. Если ваше приложение является одним из 99%, которое не требует много интенсивной работы процессора для типичных запросов, не беспокойтесь об этом.