Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript与Java相比有多快?_Java_Javascript - Fatal编程技术网

Javascript与Java相比有多快?

Javascript与Java相比有多快?,java,javascript,Java,Javascript,是否有任何测试将Javascript的性能与Java的进行比较 更新:因为每个人都在问为什么这个问题,这里有一些背景:) 大家都知道——我希望如此——Javascript现在不仅驻留在web客户机中,还驻留在带有node.js的web服务器中 它也可以在手机和带有appcelerator和phonegap的Dekstop上运行 它还可以在web浏览器中大量使用,使用户体验一流,就像桌面应用程序一样 但是Java也可以做这些事情,在web客户端和移动电话上运行小程序。它也是一种后端语言,有许多框架

是否有任何测试将Javascript的性能与Java的进行比较

更新:因为每个人都在问为什么这个问题,这里有一些背景:)

大家都知道——我希望如此——Javascript现在不仅驻留在web客户机中,还驻留在带有node.js的web服务器中

它也可以在手机和带有appcelerator和phonegap的Dekstop上运行

它还可以在web浏览器中大量使用,使用户体验一流,就像桌面应用程序一样

但是Java也可以做这些事情,在web客户端和移动电话上运行小程序。它也是一种后端语言,有许多框架可供选择

由于它们中的每一个在上述领域几乎/完全可以相互替换,我想知道它们之间的性能差异,对于我描述的每一种情况:

  • 客户端:Java小程序与Javascript
  • 服务器:Java EE vs带有Node.js+Express的Javascript
  • 移动电话:JavaME与带有Phonegap/Appcelerator的Javascript
  • 桌面:JavaSE与带Phonegap/Appcelerator的Javascript

我希望现在情况更清楚了。

可能不清楚,但这并不重要

在Google Chrome的JavaScript JIT之前,一旦问题变得足够大,足以克服加载时间,Java就会战胜JavaScript

由于整数和浮点运算,Java仍然应该彻底击败JavaScript。无论JIT有多好,它都无法真正弥补这一点


WebAssembly无论如何都会改变这一点。

它们只是名称相似而已。Java是编译的,JavaScript是解释的(大部分)。即使使用V8的即时编译器,Java在任何方面都会更快。

Java,显然

程序员喜欢比较执行速度,就像比较一些令人恼火的内容一样。这仅仅是一个指标,而且在大多数情况下,从长远来看并不是最重要的指标。Java是一种混合语言,速度快到几乎可以处理任何事情,但级别高到可以得到GC之类的东西,而在类似的语言中通常无法得到。Javascript是一种动态闭包语言,非常适合快速完成任务(对于陷于OO世界的FP程序员来说;-)。在任何一个合适的空间中,没有太多的交叉点

我现在就不要再高谈阔论了

编辑:解决帖子中的编辑问题

由于人们编写惯用javascript(由函数组成的函数)的方式,它非常适合异步编程,可能比任何其他类似流行的语言都要好。当涉及到大量的短连接时,Node.js会大放异彩,因此javascript非常适合这种情况


虽然node.js绝对是一个令人敬畏的网站,但成为新的热门网站并不意味着它在所有方面都是最好的,不管宣传怎么说。如果java应用程序可以被节点替换,那么java一开始就不太合适。

下面是一些比较Javascript(V8)和编译java的测试:

它们表明Java通常更快1。然而,如果你仔细研究这些页面和链接的资源,你会发现很难比较同类

有趣的是,Javascript在“regexDNA”基准测试中的表现明显优于Java(在某些条件下)。我猜这是因为Javascript正则表达式引擎比Java正则表达式引擎快。考虑到正则表达式在典型Javascript应用程序中的重要性,这并不完全是意料之中的


严格来说,你不能说X语言比Y语言快。你只能比较不同语言的具体实现。我链接到的网站很清楚这一点。。。如果你想上头版的话。然而,从特定的数据点进行概括并不是完全不合理的。。。而且明显缺乏相互矛盾的数据点。。。在计算密集型任务中,Java通常比Javascript更快。但另一方面,这种性能通常不是客观上重要的标准。

Java和JavaScript都是编程语言。编程语言只是一堆抽象的数学规则。编程语言并不快。或者慢。他们就是这样

应用程序的性能与语言无关。最重要的因素是应用程序架构。然后是算法效率。然后是微观优化。然后是编译器/解释器的质量。然后是CPU。也许在这两者之间还有一些其他的步骤。然而,这种语言并不直接起作用。(当然,如果你说的是基准测试,那么特定的基准测试也会起作用,基准测试的执行情况如何,运行情况如何,执行基准测试的人是否真的了解基准测试,甚至更重要的是统计数据。此外,对你实际测量的准确定义n的“fast”是非常重要的,因为它也会对基准产生重大影响。)

然而,语言可能会间接地发挥作用:在10行高表达、清晰、简洁、可读、分解良好、孤立的高级Lisp代码中,比在100行混乱的低级C代码中更容易找到和修复性能瓶颈。(请注意,这两种语言只是示例。我不想单独列出任何一种语言。)例如,Twitter曾表示,如果使用一种比Ruby更缺乏表现力的语言,他们不可能在如此短的时间内对其架构进行如此彻底的更改,以解决其可伸缩性问题。Node.js之所以能够提供如此良好的事件I/O性能,是因为JavaScript的标准库我