首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >java php基准测试

java php基准测试
EN

Stack Overflow用户
提问于 2011-02-12 04:20:10
回答 3查看 12.2K关注 0票数 10

我是一个php开发人员,但最近我不得不为我在学校上的一门课编写两次相同的应用程序,一次用php编写,一次用java编写。出于好奇,我对这两个版本做了一个基准测试,发现如果访问数据库,java版本比php版本慢2到20倍,如果没有DB访问,java版本比php版本慢1到10倍。我看到两个直接可能的可能性:

  1. 我在爪哇很烂。
  2. 我终于可以告诉人们不要再抱怨php了。

我发布了servlet代码这里。我不想要任何挑剔的抱怨或小的改进,但是有人能看到一个可怕的明显的性能问题吗?或者,有人能解释为什么Java觉得它必须糟糕吗?

我经常听到人们说java比php更快、更可伸缩,特别是我的老师,他相信它,但是提出的请求越多,java得到的越慢。php似乎不受负载增加的影响,但保持不变。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-12 05:40:01

在成熟的Java应用程序中,Servlet将使用现有的JDBC连接池。建立一个新的连接将是迄今为止你所付出的最大代价。

每次尝试连接时调用Class.forName也会导致不必要的减速。

JVM优化也可能是一个因素。在企业环境中,JVM、内存以及可能的GC配置将进行调整和调优,以在响应性和资源利用率之间实现理想的平衡。

正如Stephen所指出的,JVM也有一种“热身”的概念。

尽管如此,我不知道PHP如何与Java相比较,我觉得这两种语言都为分离不相交的需求提供了很好的解决方案。

票数 6
EN

Stack Overflow用户

发布于 2011-02-12 04:58:29

基于不多的信息(做出最佳决策的地方),我猜Class.forName("com.mysql.jdbc.Driver"); in getConnection()是一个大的时间链接。

new String可以传递给out.println时,在importFile中创建char[]是我的挑剔之处。

票数 1
EN

Stack Overflow用户

发布于 2011-02-12 04:43:51

您的测试似乎反映了初始开销比稳态性能更高。尝试在一个循环中多次执行非DB测试(这样每个测试都会多次运行代码),并查看运行时与迭代次数之间的线性关系。我怀疑java的增量成本低于php。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4976295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档