有经验的大佬分别说说
1
DamonLin 2018-12-05 14:07:01 +08:00
你指的是什么慢?
|
2
allenhu 2018-12-05 14:17:46 +08:00 1
你有这个发帖的时间都搜出几十条结果了,不是实在看不下去,我都懒得回复
|
5
U2Fsd 2018-12-05 14:54:59 +08:00 3
|
6
U2Fsd 2018-12-05 14:56:18 +08:00
C++ vs. Python vs. PHP vs. Java vs. Others performance benchmark (2016 Q3)
https://blog.famzah.net/2016/09/10/cpp-vs-python-vs-php-vs-java-vs-others-performance-benchmark-2016-q3/ |
7
KasuganoSoras 2018-12-05 15:35:01 +08:00
PHP 是脚本解释语言,和 Java 当然没法比性能,二者用途也不完全相同,PHP 更偏向于写 Web 类的东西
|
8
460881773 2018-12-05 17:10:16 +08:00
因为 java 是编译语言啊 运行需要先编译成计算机能直接识别的语言。php 为解释型语言 运行的时候计算机需要理解这个语言是什么意思然后再执行 ,一个是直接执行一个是理解后再执行肯能效率不一样啊
|
9
yixiang 2018-12-05 17:16:02 +08:00
你图里的 PHP 7 不是比 Java 还要快么。手动捂脸。
|
11
shansing 2018-12-05 17:31:00 +08:00
@460881773 Java 是编译成字节码文件,之后用 Java 虚拟机执行,不是计算机能“直接”识别的语言。PHP 到要执行的时候也是编译再运行的。早期 PHP 的编译很快,因为不需要做优化,后来的版本可能不同了。( PHP 也可以借助 Opcache 缓存字节码文件。)
|
12
isCyan 2018-12-05 17:41:22 +08:00 1
从来不觉得 PHP 慢,也没觉得 Java 快
|
13
lychnis 2018-12-05 20:05:27 +08:00 via Android
鱼和熊掌不可兼得 开发效率运行效率选一个
|
14
t6attack 2018-12-05 20:28:42 +08:00 via Android
如果遇到 php7 性能触顶,说明你的项目成功了,或者你们公司做的是大生意。偷着乐去吧 。
|
15
netherlanddennis 2018-12-05 20:31:06 +08:00
@t6attack
+1 |
17
sagaxu 2018-12-05 21:00:30 +08:00 via Android
@yixiang 他那个 JAVA 代码,用的是泛型数组,Array<ListInteger>开销大,所以比较慢,换成 int[]就跟 c++差不多了
|
20
zzzzzzZ 2018-12-06 10:09:44 +08:00
Java 是预编译成字节码之后,在 JVM 中运行,然后 JVM 去操作设备。由于 JVM 的优化和 JIT 技术的出现,使编译这一块的性能无限接近于编译型语言,但是 Java 不是编译型语言。
同样 JVM 的优秀诞生了很多基于 JVM 的不同语言,知名的如支持函数式编程的 Kotlin 和 Scala Java 只编译一遍,之后 JVM 跑的都是编译后的字节码,和 PHP5 跑一次编译一次性能差别太大,脚本语言都有这个毛病,PHP 已经努力解决了(Zend)。PHP7 为什么能够大幅度提升性能,重点就在 JIT 和 OPcache。 但是双方真正的差异不是编译方式,语言升级换代之后编译终归会被压缩到一个极致效率。PHP 和 Java 最大的不同在于,PHP 是动态语言,Java 是静态语言,或者说强类型语言。 [ ] Java 开发牺牲了大量时间保证自己构建的代码符合系统保障,如果出现代码层面的错误,IDE 就过不去。这也是很多人吐槽的地方,"Java 会把中小型项目写成大型项目","Java 几十行几百行的代码我用 xxx 几行就搞定了" 但是一旦系统复杂度上升之后,弱类型的语言维护起来会哭爹喊娘,例如某前端语言一个比较奇偶的低级函数不再维护之后,全世界 N 台直接 /间接引用该函数的项目同时崩溃。大家应该都有使用 JS 被重名函数和运算符折磨的经历。 Java 在引用第三方代码时对系统几乎无影响,重名的都需要指定包路径的引用才能使用。 弱类型的变量在计算上天生具备劣势,不提 Java 给自身各种类型、数据结构提供执行效率的 jdk 和其它库,就简单的直接运算,弱类型都必须先确定上下文类型。 当然两者在其它地方也有差异: IO 层面:[https://www.toptal.com/back-end/server-side-io-performance-node-php-java-go] WEB 层面:[https://www.linkedin.com/pulse/java-vs-php-web-fadi-botros] 此文首先就提到了 STRONGLY TYPED 和 JIT 当然纠结这些是完全没有必要的,试想一下三五十年后,当计算机性能更新换代到现在无法想象的程度,当新的 xx 语言在编译、开发效率、执行性能上完全秒杀我们使用的这些 90 年代语言的时候。现在所谓的性能其实都是浮云 计算机科学的美妙也不止语言特性这一块,学术性质的了解一下即可 |
22
crist 2018-12-06 10:41:39 +08:00
你图里的 PHP 7 不是比 Java 还要快么。手动捂脸。
|