用于GAE的java与python

2024-04-27 12:30:47 发布

您现在位置:Python中文网/ 问答频道 /正文

从这些链接:-在

http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=python3&lang2=java    
http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=python3&lang2=java
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=python3&lang2=java 
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=python3&lang2=java

他们清楚地表明,如果我们正在寻找的是可伸缩特性,那么GAE的最佳选择就是java。在

我的问题是,如果我们使用某个框架,会对性能产生什么影响?在

例如

^{pr2}$

Tags: orgtesthttplang链接debianjavaall
3条回答

只是一个简短的提示-不要将此作为一个明确/全面的比较:

Django和Spring的启动时间都很长,这可能导致请求被丢弃。我会使用专门为GAE设计的框架:tipify、slim3等。。在

我在GAE上同时使用Python和Java,一个项目使用Python+Django完成,另一个项目使用Java/Groovy+Spring。在

Python+Django最初很容易开发,但不太容易维护。它有足够快的启动时间,良好的文件,atc。在

Java+Spring需要更多的开发(有些部分比使用django做同样的工作要花费2-3倍),在启动时间上有问题(即使您使用的是warmup请求)。但它更稳定。在

Python项目有太多的错误,大部分没有任何可见的(对您来说)原因:(而且很难找到这些错误的原因,因为lang的动态特性。另外,请准备好手动修补您正在使用的一些库。别误会,我有很多年的Python经验,但是在像GAE这样的分布式系统上维护它确实很困难,而且它在代码质量方面确实存在问题:(

另一方面,Java的工作非常好。如果你的代码有问题,你会看到你需要的所有信息来解决这个问题,在几次迭代之后,你会修复几乎所有的错误。除了一个:有时候你会看到启动错误:(顺便说一句,不太常见)

顺便说一句,为GAE选择合适的语言取决于你更了解哪种语言:)如果你还不懂Java,就不要从它开始,至少需要1-2年的时间才能理解这种语言。在

这些基准测试将python3与Java在标准设置上进行比较。也没有迹象表明这些基准测试了什么样的工作量。在

AppEngine运行Python2.5,与标准桌面上的配置完全不同,因此基准测试并不适用。在

此外,可伸缩性与这些基准测试无关,它们最多能带来恒定的因素差异。如果你的应用程序是按比例构建的,它将以任何一种语言进行缩放,达到相同的程度。可伸缩性取决于你设计应用程序和使用底层基础设施的程度。在

我建议您使用您最熟悉的语言和框架—不要根据基准选择语言。在

相关问题 更多 >