php7、java8、nodejs5与lua5.2的性能有什么区别

本篇文章给大家介绍一下php7、java8、nodejs5与lua5.2的性能区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

本篇文章给大家介绍一下php7、java8、nodejs5与lua5.2的性能区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有Z _ % Z e N所帮助。

php7、java8、nodejs5与lua5.2的性能有什么区别

简单比较一下phQ B I X cp7和java8的计算和字符串操作性能。

机器:osx 10.10 intel corei5 4GB

php7.php:

<?php
$t1 = microtime(true);
for($i=0; $i&6 C =lt;10000000; $i++){
aaa($i);
}
$t2 = microtime(true);
echo 'php time:' . ($4 P 9 ` G ) X O Mt2 - $t1)*1000 . "ms\n";
function aaa($i){
$a = $i + 1;
$b = 2.3;
$s = "abcdefkkbghisdfdfdsfds";
if($a > $b){
++$a;
}else{
$b =L D C $b + 1;
}
if($a == $b){
$b = $b + 1;
}
$c = $a * $b + $a / $b - pow($a,Z + / G ) E l 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;6 M $ ( # + 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 = "abcdefkkbghi^ s t p Lsdfdfdsfdsf B h 5";
if(a > b){
++a;
}else{
b = b + 1;
}
if(a == b){
b = b + 1;
}
floatn l 3 V 3 A I G c = (float) (a * b  + a / b - Math.pow(a, 2));
String d = s.substring(0, s.indexOf("kkb")) + String.valueOf(c);
}
}

node5.js – ! as:

	    var@ G $ ? 7 s ) g n t1 = (new Date()).getTime();
for(var i=0; i<10000000; i++){
aaa(i);
}
var t2 = (new Date()).getTime();
console.log("nodejs time:" + (t2y D g l z a 6 K - t1) +p R L c ] 6 z ? X "ms");
function aaa(i){
var a = i2 T c R + 1;
var b = 2.3;
var s = "abcdefkkbghiw b Isdf/ k ; 3 ( Ddfdsfds";
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.3p ~ } X | % = 4
s = "abcdefkkbghisdfdfdsfds"
if(a > b) then
aV ) ( = a+1
else
b = b + 1
enm t H Cd
if(a == b) then
b = b + 1
end
c = a  *$ { | R q w D ] b + a / b - math.pow(a, 2)
d = string.sub(s, 0,i s h * string.find(s, "kkb")) .. tostring(~ r s F 0 M ! 6 @c)
end
t19 Y = i ~ ( = 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\ # O 5 P 4.js

php php7.php

luL A 2 $ l Oajit lua5S E L.2.lua

lua lua5.2.lua

结果:

php7、java8、nodejs5与lua5.2的性能有什么区别

结论:由此可见就计算性能来说,java8 > nodejs5 > php7 > luajit > lua

java8是php7的5.2倍,nodejs5是php7的1.8倍,php7和luajit相当。

说lua是最快的脚本,那是往! A 6 h y I ^事了。静态语言的计算性能肯定比动态语言强很多。

对于密集计算,java是最好n D Y & +的选择;考虑到web的性能的瓶颈往往在数据库和IO,nodejs和php都\ + G是很好的选择。我个人喜, z M J h #欢php,无论从开发和= e y u j j {部署,都比nodejs顺心点。

特别注意:如果function aaa(i)中没有参数i,那么nodejs是最快的,1000ms就完成了,估计nodejs对相同的执行结果进行了~ % z n 2 Z / +缓存。有好多人都` / G s q犯了这个错误,测试下来就认为nodejs比java快多了。

推荐学习:. A X w Yphp视频教程

以上就是php7、java8、nodejs5与lua5.2的性能有什么区别的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文转载于:CSDN,如w 7 ` C有侵犯,请联系U I V wadmin@php.4 + Lcn删除

原创文章,作者:町子门户,如若转载,请注明出处:https://www.6fzz.com/12542.html

(0)
上一篇 2021年5月18日 上午9:24
下一篇 2021年5月18日 上午9:41

相关推荐

  • async await的理解

    初识 async 函数表示这个函数内部有异步请求,如果这个 async 函数没有返回值,那么这个 async 仅仅只是一个标识而已. await 需要结合 async 函数一起使用,它通常用于等待一个 Promise 函数或 async 函数的执行(你当然可以写个await 123,但这不会有任何作 …

    编程学习 2022年1月18日
  • 软件耦合一定是件糟糕的事吗? 大多数人对这个问题的回答都是“是”。任何一个软件中都会涉及不同程度的耦合,混乱或是错误的耦合会给软件的理解、维护、修改带来许…

    2021年6月3日
  • 荔枝FM产品副总裁:UGC产品的运营经验分享

    一个UGC平台,即是一个生态系统,要可持续发展,需要各个环节和链路都健康。 一、关于荔枝FM 荔枝 FM 是一…

    2021年6月27日
  • js正则获取标签之间内容表达式怎么写?-附源码

    基础知识 JavaScript 正则表达式正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。 搜索模式可用于文本搜索和文本替换。 什么是正则表达式?正则表达式是由一个字符序列形成的 …

    编程学习 2021年5月15日
  • 高级前端进阶(二)

    恭喜EDG夺冠!!! 滚动条挤压页面问题(开胃小菜) 滚动条挤压页面,我们可能没怎么注意到这个问题。 直接看图吧 看到没有,滚动条差不多占据了17px左右的宽度。 计算公式为: let container = document.getElementById(“container”); let scr …

    2021年11月10日
  • 怎样设计移动应用的导航?

    总结导航设计模式的12种方法,并结合当前常见的移动应用截图进行说明。     作者:weiicon 来源:UI…

    2021年6月27日
  • ps高斯模糊怎么擦出来

    方法:首先将图片加载到软件中,并复制一个图层副本;然后选择页面顶部的“滤镜”-“模糊”-“高斯模糊”;点击“图层”-“新建”-“背景图层”,这时候用橡皮擦擦到不需要模糊的地方即可。

    2021年5月17日
  • JDK 商用正式免费、Log4j2 爆核弹级漏洞、LayUI 下线…2021 发生的 10 件大事!!

    首先祝大家新年快乐,假期都玩的开心吧? 去年栈长给大家盘点了《Java 开发行业 2020 年发生的几件大事》,2022 年来了,也必须对 2021 做个总结了,2021 年 “Java技术栈” 都有哪些值得关注的事情呢? 这篇必须看完,因为这些技术事件可能影响你未来的就业、以及公司在技术选型上的决 …

    编程学习 2022年1月4日
  • htop的替代品btop

    认识 btop,一个美观的系统资源监视器,显示处理器、内存、磁盘、网络和进程的使用情况和统计​​信息。btop是更轻、更快的C++ 版本,是bashtop和bpytop的延续

    2021年11月8日
  • 排行榜不完全设计指南

      ———— / BEGIN / ————   排行于无形之中把你上了很多次,而你还依然无…

    2021年6月27日

发表评论

您的电子邮箱地址不会被公开。