(编译器术语)寄存器分配:编译器在生成机器代码时,把程序中的变量或临时值尽量分配到 CPU 寄存器中,以减少访问内存、提高运行速度;当寄存器不够用时,可能需要把部分值“溢出”(spill)到内存。也常被称为 register allocation,属于编译器后端优化的一部分。
/ˈrɛdʒɪstər ˌæləˈkeɪʃən/
Register allocation can make programs faster.
寄存器分配可以让程序运行得更快。
Good register allocation reduces memory traffic by keeping frequently used values in registers, but complex control flow can force spills.
良好的寄存器分配通过把高频使用的值保留在寄存器中来减少内存访问,但复杂的控制流可能会迫使一些值溢出到内存。
register 源自拉丁语 registrum(登记册、记录),在计算机体系结构里引申为“用于存放数据的高速存储单元(寄存器)”;allocation 源自拉丁语 allocare(分配、安排)。合起来字面意思就是“对寄存器进行分配/安排”,对应编译器把值映射到寄存器的过程。