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

时间:2018-05-28 08:41:07

标签: operating-system programming-languages

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

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

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

详细了解有关编程语言和硬件角色概念的任何帮助!提前致谢

2 个答案:

答案 0 :(得分:1)

编程语言的选择可能会对代码的性能,代码的可移植性,可比性以及在目标中轻松实现目标产生多方面的影响。为了直接回答您的问题,如果C和C ++都是针对同一目标环境完成的,则它们在打印输出时可能会生成“相同的二进制文件”。 Python之所以与众不同,是因为它是一种解释型语言,这意味着该代码由以该体系结构本地代码编写的程序读取,并据此采取行动。在这方面,Python处于边缘情况,因为从技术上讲,它是在执行时进行编译的(并且可以在发布之前进行编译),但在原理上类似于仅由Python解释器理解的Java字节代码的中间代码。

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

答案 1 :(得分:0)

将哪种二进制代码进行编译取决于编译器。对于C和C ++,有数十种不同的编译器可能会生成不同的二进制代码。除此之外,大多数编译器甚至都有优化标志,这些标志对生成的二进制代码有很大影响。

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