Смешивание Python с более быстрым языком для оптимизации в GAE - PullRequest
10 голосов
/ 24 июля 2011

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

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

Ответы [ 2 ]

9 голосов
/ 24 июля 2011

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

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

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

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

5 голосов
/ 25 июля 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...