gpt4 book ai didi

optimization - 如何优化简单的堆栈机器代码?

转载 作者:行者123 更新时间:2023-12-03 16:55:13 24 4
gpt4 key购买 nike

我一直在使用一种简单的基于堆栈的语言,而我发现自己反复做的一件事是手动优化代码块。

我想“嘿,这看起来很像计算机可以做的事情!具有明确目标和语义的重复工作。”。但是环顾四周,我找不到很多关于优化堆栈机器代码的东西。注册机器,是的。但不是基于堆栈的语言。这似乎是对“如何优化堆栈机器代码?”的普遍回应。是“不要”。

那么:如何优化堆栈机器代码?除了简单的窥视孔优化之外,还有什么通用的方法吗?是否有任何自动生成窥视孔优化的方法?

最佳答案

1 Wikipedia - Stack Machine列出了一些堆栈机器和基于堆栈的语言(可能以某种方式解决优化问题)

1.1 我对各种链接的阅读使我得出结论,基于堆栈的机器只是一种理论工具。无需“优化”它们,因为为了运行程序,此类机器将基于堆栈的代码转换为基于寄存器的代码,对其进行优化并在基于寄存器的硬件上运行。此过程通常称为 Just In Time compilation (JIT)Ahead Of Time compilation (AOT)

2 在列出的选项中Wikipedia - FORTH描述了超过 40 年的广泛使用的基于堆栈的编程语言(应该有一些与优化相关的 Material 可用)

3 谷歌搜索“forth stack machine optimization”会给出很多文章,例如

  • J1 Forth CPU,http://www.excamera.com/sphinx/fpga-j1.html
  • 优化栈代码生成初探,http://users.ece.cmu.edu/~koopman/stack_compiler/stack_co.html
  • 堆栈优化 - Peter J. Knaggs 博士,http://www.rigwit.co.uk/thesis/chap-5.pdf
  • 高效堆垛机的设计与实现,http://www.jopdesign.com/doc/stack.pdf
  • ...
  • 关于optimization - 如何优化简单的堆栈机器代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24599876/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com