Compilation 不同编译语言的速度不同吗?(例如Java与C+;+;) 我在编程方面有点古怪,但我想知道,如果你用两种不同的编译语言(即java和C++)编写两个相同的程序,在编译它们之后运行它们,运行时是否不同或者只是编译时间不同?

Compilation 不同编译语言的速度不同吗?(例如Java与C+;+;) 我在编程方面有点古怪,但我想知道,如果你用两种不同的编译语言(即java和C++)编写两个相同的程序,在编译它们之后运行它们,运行时是否不同或者只是编译时间不同?,compilation,runtime,Compilation,Runtime,java代码比C++慢。与任何研究一样,数字可能会有很大差异。您通常认为比C/C++慢的速度最有利于Java。更详细地介绍它们 其他消息来源说,它使用了 简而言之:java比C、C++和其他编译机器代码的语言慢(相对于java)。

java代码比C++慢。与任何研究一样,数字可能会有很大差异。您通常认为比C/C++慢的速度最有利于Java。更详细地介绍它们

其他消息来源说,它使用了


简而言之:java比C、C++和其他编译机器代码的语言慢(相对于java)。

<解释的规则(编译)比预编译慢,编译成虚拟机(如java)要慢于架构依赖,并且程序比OO和汇编程序快于过程,(但你不想使用它,除非你在为工业应用编程PIC微控制器之类的东西,或者你是Neo和编程绝地之间的混合体)


无论如何,每种语言都有一些优点和缺点,还有一个很好的优化(识别瓶颈并提高这些特定点的性能)无论C++是C++还是java语言都是编译语言,因为C++编译成机器代码,java编译成虚拟机字节码,这对性能有很大的影响。语言没有速度。ons是的。这个问题主要是“JIT vs compiled”,并且以前被问过很多次。为了让你开始…,,,但是,这是一个大写拇指的经验法则(即难以置信的近似和过度概括)。例如,JIT编译器(如HotSpot)可以更积极地优化(内联间接/
虚拟
调用和跨动态加载的库)今天的主流C编译器在99%的时间里都可以智胜大多数人。你说的编译器不断改进是对的,但我仍然不知道:如果你想确保事情做得正确,你必须自己去做。大多数编译器对大型应用程序的优化程度都很高,但我不认为自己使用gcc来编译程序对于led或传感器微控制器,甚至是一个基本的工业机器人手臂,尽管我在技术学校的朋友告诉我,他们现在正在教授…@delnan:有人测量过Java在一个非平凡的应用程序上比C快吗?(不是通过使用玩具C编译器或任何东西作弊。)我问这个问题是因为我经常听到这种激进的优化论调,但我从来没有在现实世界中看到过这种论调。但是,我又一次看到PHP优于Java,可能是因为Java代码并不完全是最优的(读:可以由一个客户端反复单击鼠标切换设置来完成)。这里有一个教训…@LnxPrgr3我不太了解Java生态系统,但我知道PyPy的JIT可以基于运行时值生成更专业的代码(例如,生成两个str()调用(也可能是类型专用的)和对
“”的低级字符串操作。格式(点)
格式字符串来自文件的地方;cf.),但“非平凡应用程序”更难进行基准测试。是的,这其中有一个教训——“快速语言”只是一个下限,无论你做得多好,你都可以任意做得不好。抱歉,我的一个链接格式不正确。它已修复。只是简单地说明一下“Java代码比C++慢”肯定会受到挑战,所以我将扮演魔鬼代言人的角色…看一看,要么放弃对Java字节码的引用,要么提到JIT编译器。你可以随意编辑我的答案,但我不知道它怎么会更快。你链接到的维基百科页面上说编译器无法完全优化程序,因此生成的程序比本机代码慢。“在JIT环境下。(我可能在回答中使用了错误的术语,如字节码。如果您可以更改它们,那就太好了。)如果JIT产生的代码与C++编译器所生成的代码相同,则不能更快,但它可以产生更好的代码。参见(包括引用)。另一个例子是java,而不是“解释语言”(Python),但是它管理了内联和展开库调用,有些代码<代码> GCC 不能通过设计来完成。