今天听人说 php 运算能力不比 java

2015 年 5 月 28 日
 whatisnew

说是 php 内部使用一个大 hash 表来操作,运算能力比较弱,求证实。

11669 次点击
所在节点    PHP
63 条回复
thinkif
2015 年 5 月 28 日
别听他们瞎说,“PHP是世界上最好的语言” 已经在论坛上达成共识了,不信你搜搜。。。
whatisnew
2015 年 5 月 28 日
@thinkif 认真点,我们在这讨论内核呢
yahoo21cn
2015 年 5 月 28 日
楼主你知罪吗
silvernoo
2015 年 5 月 28 日
是是是,php是最好的语言。
whatisnew
2015 年 5 月 28 日
问题出在 z_val ?
gamexg
2015 年 5 月 28 日
不需要在意这种性能问题吧?
又不是数据库,堆机器就是。
whatisnew
2015 年 5 月 28 日
@gamexg 亲,我们说的是内部实现,比如一个超大n维度的数组或者对象
feiyuanqiu
2015 年 5 月 28 日
@whatisnew 亲,我看着你的回帖怎么就感觉不靠谱呢,既然你要讨论 php 内核,至少你应该先看看 php 内核是怎么回事吧,
不然待会巨巨们来了说一大堆干货,又只能看看热闹

http://www.php-internals.com/book/
lincanbin
2015 年 5 月 28 日
对的,数值运算方面确实远远不如Java。
如果系统业务逻辑集中在计算的话建议使用Java,或者用Java做后端,PHP做前端。

如果不是运算密集型的话就随意了。
fancy967
2015 年 5 月 28 日
@thinkif 你的头像我之前也很喜欢用耶
endrollex
2015 年 5 月 28 日
zts1993
2015 年 5 月 28 日
是的,。但是你用PHP做科学运算了么。。
whatisnew
2015 年 5 月 28 日
@zts1993 数据统计分析,一些复杂的算法,算不?
hooluupog
2015 年 5 月 28 日
cpu密集型的运算可是jvm,JIT的强项,一旦虚拟机热起来,跑这种运算超过c/c++也不要感到惊讶。
est
2015 年 5 月 28 日
java内部不是一个大hash表实现的。java内部是一个 AbstractSingletonProxyFactoryBean。再举个例子

new ServiceExecutionJoinPoint(
DistributedQueryAnalyzer.forwardQueryResult(
NotificationSchemaManager.getAbstractSchemaMapper(
new PublishSubscribeNotificationSchema()).getSchemaProxy().
executePublishSubscribeQueryPlan(
NotificationSchema.ALERT,
new NotificationSchemaPriority(SchemaPriority.MAX_PRIORITY),
new PublisherMessage(MessageFactory.getAbstractMessage(
MessageType.WRITTEN,
new MessageTransport(MessageTransportType.WOUNDED_SURVIVOR),
new MessageSessionDestination(
DestinationManager.getNullDestinationForQueryPlan()))),
DistributedWarMachine.getPartyRoleManager().getRegisteredParties(
PartyRoleManager.PARTY_KING ||
PartyRoleManager.PARTY_GENERAL ||
PartyRoleManager.PARTY_AMBASSADOR)).getQueryResult(),
PriorityMessageDispatcher.getPriorityDispatchInstance())).
waitForService();

唵嘛呢叭咪吽
xuwenmang
2015 年 5 月 29 日
一个还没上市的公司,没什么资格谈php优劣。足够你用到亚洲首富的~!
neo2015
2015 年 5 月 29 日
Java做后端,PHP做前端,如今最普遍的选择
hylent
2015 年 5 月 29 日
比如一个简单的long类型,与其它类型构成共用体zval_value,再加上类型信息以及引用计数等字段,构成了zval。php肯定要维护其它的一些信息,因此相比原生c代码计算会慢一些。
不知道lz所谓计算是什么程度的计算。如果觉得计算是你的瓶颈,需要优化的话,可以开发一个php扩展来完成你的计算。扩展开发的话,可以考虑使用zephir,最新master分支支持了的internal function,或许会解决你的问题。
至于java,不了解啊。
thinkif
2015 年 5 月 29 日
@fancy967
握爪... 我在很多地方注册的账号都用这个头像呢
yuankui
2015 年 5 月 29 日
如果你用php处理超大n维数组,只能说明你们设计有问题的...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/194496

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX