PHP7、Java8、Node.js5与Lua5.2,哪种语言性能更胜一筹?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1016个文字,预计阅读时间需要5分钟。
本文简要介绍PHP 7、Java 8、Node.js 5 和 Lua 5.2 的性能特点。以下是一定程度的比较:
性能对比:
- PHP 7: - PHP 7 是 PHP 语言的最新版本,相比前版本有显著性能提升。 - 计算性能提升约 2 倍,字符串操作性能提升约 3 倍。 - 内存使用更高效,适合处理大量数据。
- Java 8: - Java 8 是 Java 语言的最新版本,引入了 Lambda 表达式等新特性。 - 计算性能稳定,适合大型企业级应用。 - 内存管理良好,支持多线程。
- Node.js 5: - Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境。 - 具有高性能 I/O 处理能力,适合网络应用。 - 事件驱动,可扩展性强。
- Lua 5.2: - Lua 是一种轻量级脚本语言,适用于嵌入式系统。 - 代码简洁,执行速度快。 - 内存管理简单,适合资源受限环境。
参考价值:- 以上信息仅供参考,具体性能表现可能因应用场景和配置不同而有所差异。- 如需更详细的分析,建议查阅相关性能测试报告。
希望对您有所帮助!
本篇文章给大家介绍一下php7、java8、nodejs5与lua5.2的性能区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
简单比较一下php7和java8的计算和字符串操作性能。
机器:osx 10.10 intel corei5 4GB
php7.php:
<?php $t1 = microtime(true); for($i=0; $i<10000000; $i++){ aaa($i); } $t2 = microtime(true); echo 'php time:' . ($t2 - $t1)*1000 . "ms\n"; function aaa($i){ $a = $i + 1; $b = 2.3; $s = "abcdefkkbghisdfdfdsfds"; if($a > $b){ ++$a; }else{ $b = $b + 1; } if($a == $b){ $b = $b + 1; } $c = $a * $b + $a / $b - pow($a, 2); $d = substr($s, 0, strpos($s, 'kkb')) . strval($c); } ?>
java8.java:
public class Main { public static void main(String[] args) { long t1 = System.currentTimeMillis(); for(int i=0; i<10000000; i++){ aaa((float)i); } long t2 = System.currentTimeMillis(); System.out.println("java time:" + String.valueOf(t2 - t1) + "ms"); } static void aaa(float i){ float a = i + 1; float b = 2.3f; String s = "abcdefkkbghisdfdfdsfds"; if(a > b){ ++a; }else{ b = b + 1; } if(a == b){ b = b + 1; } float c = (float) (a * b + a / b - Math.pow(a, 2)); String d = s.substring(0, s.indexOf("kkb")) + String.valueOf(c); } }
node5.js:
var t1 = (new Date()).getTime(); for(var i=0; i<10000000; i++){ aaa(i); } var t2 = (new Date()).getTime(); console.log("nodejs time:" + (t2 - t1) + "ms"); function aaa(i){ var a = i + 1; var b = 2.3; var s = "abcdefkkbghisdfdfdsfds"; if(a > b){ ++a; }else{ b = b + 1; } if(a == b){ b = b + 1; } var c = a * b + a / b - Math.pow(a, 2); var d = s.substring(0, s.indexOf("kkb")) + c.toString(); }
lua5.2.lua
function aaa(i) a = i + 1 b = 2.3 s = "abcdefkkbghisdfdfdsfds" if(a > b) then a = a+1 else b = b + 1 end if(a == b) then b = b + 1 end c = a * b + a / b - math.pow(a, 2) d = string.sub(s, 0, string.find(s, "kkb")) .. tostring(c) end t1 = os.clock() for i=0, 10000000, 1 do aaa(i) end t2 = os.clock() print("lua time:" .. (t2 - t1) * 1000 .. "ms")
分别执行1000万次计算,依次执行以下命令:
java -jar java8jar
node node5.js
php php7.php
luajit lua5.2.lua
lua lua5.2.lua
结果:
结论:由此可见就计算性能来说,java8 > nodejs5 > php7 > luajit > lua
java8是php7的5.2倍,nodejs5是php7的1.8倍,php7和luajit相当。
说lua是最快的脚本,那是往事了。静态语言的计算性能肯定比动态语言强很多。
对于密集计算,java是最好的选择;考虑到web的性能的瓶颈往往在数据库和IO,nodejs和php都是很好的选择。我个人喜欢php,无论从开发和部署,都比nodejs顺心点。
特别注意:如果function aaa(i)中没有参数i,那么nodejs是最快的,1000ms就完成了,估计nodejs对相同的执行结果进行了缓存。有好多人都犯了这个错误,测试下来就认为nodejs比java快多了。
推荐学习:php视频教程
本文共计1016个文字,预计阅读时间需要5分钟。
本文简要介绍PHP 7、Java 8、Node.js 5 和 Lua 5.2 的性能特点。以下是一定程度的比较:
性能对比:
- PHP 7: - PHP 7 是 PHP 语言的最新版本,相比前版本有显著性能提升。 - 计算性能提升约 2 倍,字符串操作性能提升约 3 倍。 - 内存使用更高效,适合处理大量数据。
- Java 8: - Java 8 是 Java 语言的最新版本,引入了 Lambda 表达式等新特性。 - 计算性能稳定,适合大型企业级应用。 - 内存管理良好,支持多线程。
- Node.js 5: - Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境。 - 具有高性能 I/O 处理能力,适合网络应用。 - 事件驱动,可扩展性强。
- Lua 5.2: - Lua 是一种轻量级脚本语言,适用于嵌入式系统。 - 代码简洁,执行速度快。 - 内存管理简单,适合资源受限环境。
参考价值:- 以上信息仅供参考,具体性能表现可能因应用场景和配置不同而有所差异。- 如需更详细的分析,建议查阅相关性能测试报告。
希望对您有所帮助!
本篇文章给大家介绍一下php7、java8、nodejs5与lua5.2的性能区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
简单比较一下php7和java8的计算和字符串操作性能。
机器:osx 10.10 intel corei5 4GB
php7.php:
<?php $t1 = microtime(true); for($i=0; $i<10000000; $i++){ aaa($i); } $t2 = microtime(true); echo 'php time:' . ($t2 - $t1)*1000 . "ms\n"; function aaa($i){ $a = $i + 1; $b = 2.3; $s = "abcdefkkbghisdfdfdsfds"; if($a > $b){ ++$a; }else{ $b = $b + 1; } if($a == $b){ $b = $b + 1; } $c = $a * $b + $a / $b - pow($a, 2); $d = substr($s, 0, strpos($s, 'kkb')) . strval($c); } ?>
java8.java:
public class Main { public static void main(String[] args) { long t1 = System.currentTimeMillis(); for(int i=0; i<10000000; i++){ aaa((float)i); } long t2 = System.currentTimeMillis(); System.out.println("java time:" + String.valueOf(t2 - t1) + "ms"); } static void aaa(float i){ float a = i + 1; float b = 2.3f; String s = "abcdefkkbghisdfdfdsfds"; if(a > b){ ++a; }else{ b = b + 1; } if(a == b){ b = b + 1; } float c = (float) (a * b + a / b - Math.pow(a, 2)); String d = s.substring(0, s.indexOf("kkb")) + String.valueOf(c); } }
node5.js:
var t1 = (new Date()).getTime(); for(var i=0; i<10000000; i++){ aaa(i); } var t2 = (new Date()).getTime(); console.log("nodejs time:" + (t2 - t1) + "ms"); function aaa(i){ var a = i + 1; var b = 2.3; var s = "abcdefkkbghisdfdfdsfds"; if(a > b){ ++a; }else{ b = b + 1; } if(a == b){ b = b + 1; } var c = a * b + a / b - Math.pow(a, 2); var d = s.substring(0, s.indexOf("kkb")) + c.toString(); }
lua5.2.lua
function aaa(i) a = i + 1 b = 2.3 s = "abcdefkkbghisdfdfdsfds" if(a > b) then a = a+1 else b = b + 1 end if(a == b) then b = b + 1 end c = a * b + a / b - math.pow(a, 2) d = string.sub(s, 0, string.find(s, "kkb")) .. tostring(c) end t1 = os.clock() for i=0, 10000000, 1 do aaa(i) end t2 = os.clock() print("lua time:" .. (t2 - t1) * 1000 .. "ms")
分别执行1000万次计算,依次执行以下命令:
java -jar java8jar
node node5.js
php php7.php
luajit lua5.2.lua
lua lua5.2.lua
结果:
结论:由此可见就计算性能来说,java8 > nodejs5 > php7 > luajit > lua
java8是php7的5.2倍,nodejs5是php7的1.8倍,php7和luajit相当。
说lua是最快的脚本,那是往事了。静态语言的计算性能肯定比动态语言强很多。
对于密集计算,java是最好的选择;考虑到web的性能的瓶颈往往在数据库和IO,nodejs和php都是很好的选择。我个人喜欢php,无论从开发和部署,都比nodejs顺心点。
特别注意:如果function aaa(i)中没有参数i,那么nodejs是最快的,1000ms就完成了,估计nodejs对相同的执行结果进行了缓存。有好多人都犯了这个错误,测试下来就认为nodejs比java快多了。
推荐学习:php视频教程

