我在C中制作虚拟机,我被告知通过转换"汇编"代码为十六进制或二进制,我可以加快执行速度。我的问题是,如果我有一个字符串并将其编码为数字,那么当它添加并在VM中执行额外步骤时,它如何比不编码更快?
- EDIT-- VM程序集的一个示例是:
push 10 # Push the value 10 to the top of the stack
print # Print the value at the top of the stack
编码指令如下所示:
010a 0c
但我不知道的部分是如何将程序集编码到指令中比不执行它更快,因为你必须再次解码它们。如果我错了,请告诉我。
答案 0 :(得分:2)
是的,在重复使用代码的情况下编码效果更好。
请记住,一个函数或一段代码被多次调用,因此您在第一次转换时会失去很少的时间,并且在您开始解释相同的代码后会花费很多时间。