【发布时间】:2010-12-24 09:23:39
【问题描述】:
如果将两者都翻译成机器代码,汇编语言比编译语言更快吗?
我说的是被翻译成机器代码的真正编译语言。不是 C# 或 Java,它们先编译成中间语言,然后通过软件解释器等编译成本机代码。
在Wikipedia,我发现了一些我不确定是否与此相关的东西。是因为从更高级别语言的翻译会产生额外的机器代码吗?还是我的理解有误?
称为汇编程序的实用程序用于将汇编语言语句转换为目标计算机的机器代码。汇编器执行从助记语句到机器指令和数据的或多或少的同构转换(一对一映射)。 这与高级语言不同,在高级语言中,单个语句通常会产生许多机器指令。
【问题讨论】:
-
请注意,大多数高级语言编译器首先编译为汇编代码,然后由单独的汇编器编译。因此,(最佳)汇编程序永远不会比已编译的源代码慢。如果您的(非最佳)汇编速度较慢,您可以将代码与编译器生成的代码交换,并做一些比尝试编写高效汇编程序更有用的事情。
标签: performance compiler-construction assembly