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

2015-05-28 20:16:11 +08:00
 whatisnew

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

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

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

如果不是运算密集型的话就随意了。
fancy967
2015-05-28 21:17:40 +08:00
@thinkif 你的头像我之前也很喜欢用耶
endrollex
2015-05-28 21:26:20 +08:00
zts1993
2015-05-28 21:33:33 +08:00
是的,。但是你用PHP做科学运算了么。。
whatisnew
2015-05-28 23:36:43 +08:00
@zts1993 数据统计分析,一些复杂的算法,算不?
hooluupog
2015-05-28 23:44:32 +08:00
cpu密集型的运算可是jvm,JIT的强项,一旦虚拟机热起来,跑这种运算超过c/c++也不要感到惊讶。
est
2015-05-28 23:45:53 +08:00
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-05-29 07:26:46 +08:00
一个还没上市的公司,没什么资格谈php优劣。足够你用到亚洲首富的~!
neo2015
2015-05-29 09:01:31 +08:00
Java做后端,PHP做前端,如今最普遍的选择
hylent
2015-05-29 09:06:13 +08:00
比如一个简单的long类型,与其它类型构成共用体zval_value,再加上类型信息以及引用计数等字段,构成了zval。php肯定要维护其它的一些信息,因此相比原生c代码计算会慢一些。
不知道lz所谓计算是什么程度的计算。如果觉得计算是你的瓶颈,需要优化的话,可以开发一个php扩展来完成你的计算。扩展开发的话,可以考虑使用zephir,最新master分支支持了的internal function,或许会解决你的问题。
至于java,不了解啊。
thinkif
2015-05-29 09:11:06 +08:00
@fancy967
握爪... 我在很多地方注册的账号都用这个头像呢
yuankui
2015-05-29 09:14:07 +08:00
如果你用php处理超大n维数组,只能说明你们设计有问题的...

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

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

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

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

© 2021 V2EX