【问题标题】:How is encoding faster than not encoding? [closed]编码如何比不编码快? [关闭]
【发布时间】:2014-04-23 00:56:30
【问题描述】:

我正在用 C 语言制作一个虚拟机,有人告诉我,通过将“汇编”代码转换为十六进制或二进制,我可以加快执行速度。我的问题是,如果我有一个字符串并将其编码为数字,那么当它在 VM 中添加和额外的执行步骤时,它怎么能比不编码它更快?

--编辑-- 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

但我没有得到的部分是如何将程序集编码成指令比不这样做更快,因为你必须再次解码它们。如果我错了,请告诉我。

【问题讨论】:

  • 您指的是哪种虚拟机?咖啡?爆米花?
  • 请详细说明,也许可以举一个小例子来说明你所说的汇编、十六进制、二进制和字符串的含义
  • @dwelch 我编辑了问题。
  • @alk 我正在使用自定义虚拟机。

标签: c assembly unicode encoding vm-implementation


【解决方案1】:

是的,编码在重复使用代码的情况下更好。

请记住,一个函数或一段代码会被多次调用,因此您在第一次转换时会浪费很少的时间,而在开始解释相同的代码时会获得很多时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    相关资源
    最近更新 更多