选择编程语言对OS性能的影响

问题描述 投票:0回答:2

选择编程语言是否会在将所有编译语言编译为1和0时决定性能

例如:printf(在C中)与cout(C ++)vs print(在Python中)

以上所有都有相同的二进制编译代码吗?

感谢任何有助于理解编程语言概念和硬件角色的任何帮助!提前致谢

operating-system programming-languages
2个回答
1
投票

编程语言的选择会对代码的性能,可移植性,可比性以及将代码放入代码的容易程度等方面产生很多影响。要直接回答你的问题,C和C ++在打印输出时可能会生成“相同的二进制”,如果它们都是针对同一目标环境完成的。 Python是不同的,因为它是一种解释型语言,这意味着代码由用本机代码编写的程序读取并相应地起作用。 Python在这方面是一个优势,因为它在技术上在执行时编译(并且可以在分发之前),但是在原则上类似于Java字节代码的中间代码,只有Python解释器才能理解。

您在较低语言(如C语言)和较高语言(如Java,Python甚至JavaScript)之间的区别在于它们的执行性质由本机硬件或解释器完成。语言在裸机上运行通常被理解为比解释器上的语言更快,因为解释器需要时间来理解代码并使用它自己的系统资源。 Java倾向于破坏这个规则,因为它的解释器是一个完整的虚拟机,可以理解非常简单的字节代码,使其在速度上与C语言一样具有竞争力。


0
投票

它们编译成什么样的二进制代码取决于编译器。对于C和C ++,有许多不同的编译器可能会生成不同的二进制代码。除此之外,大多数编译器甚至都有优化标志,这些标志会影响生成的二进制代码。

Python甚至没有直接编译成“机器代码”,它被编译成python解释器的字节码。 Python解释器本身是一个在机器上运行的程序,然后读取python-bytecode并执行它可能是通过内部调用预定义函数(已存在于机器代码中)

© www.soinside.com 2019 - 2024. All rights reserved.