将python与更快的语言混合以在GAE中进行优化

Dur*_*n81 10 python java performance google-app-engine go

我是Python和GAE世界的新手,我有一个问题.使用Python,通常的方法是仅在需要时优化代码,修复更紧迫的瓶颈.而实现这一目标的方法之一是用C语言重写程序中最关键的部分.

通过使用GAE,我们会永远失去这种可能性吗?由于谷歌的Go语言现在(或者它将在编译效率更高的时候)是GAE中最快的语言,有没有办法在同一个应用程序中混合使用Python和Go?还有哪些其他方法可以达到类似的效果?

agf*_*agf 9

请参阅我可以用Java编写部分Google App Engine代码,用Python编写其他部分吗?如何使用多种语言.

基本上,给定应用程序的每个版本只能使用一种运行时语言.

但是,您可以使用不同语言编写两个不同版本的应用程序,并且可以在数据存储区中来回传递信息.

此外,您可以使用两种不同的语言拥有两个不同的应用程序,然后您可以通过请求来回传递信息.


Nic*_*son 5

我认为你在这里过早优化了.对于几乎所有的Web应用程序,大部分时间都花在RPC上,等待系统的其余部分执行某些操作,例如进程数据存储区查询.其余的,无论如何,通常在C代码中花费很大一部分.为了提供典型的查询,需要进行大量处理器密集型工作的Web应用程序相对较少.

如果你的应用就是其中之一,你可能想重新考虑用Python编写整个应用程序,因为App Engine上没有C扩展,选择Java或Go.如果您的应用程序是99%之一,不需要为典型请求执行大量处理器密集型工作,请不要担心.