我知道从寄存器访问数据比访问内存要快得多。让我们常规说,我有这样的代码:我可以使用我的CPU寄存器来提高速度性能吗?
def anto = "Is this gets stored in register?"
println(anto)
,如果我需要anto
被存储在寄存器对性能的考虑,该怎么做?编程语言有什么方法可以做到这一点,主要是在Groovy中? 我想在C语言中,我们可以通过使用extern
关键字来做到这一点,那么在Groovy中呢?
我知道从寄存器访问数据比访问内存要快得多。让我们常规说,我有这样的代码:我可以使用我的CPU寄存器来提高速度性能吗?
def anto = "Is this gets stored in register?"
println(anto)
,如果我需要anto
被存储在寄存器对性能的考虑,该怎么做?编程语言有什么方法可以做到这一点,主要是在Groovy中? 我想在C语言中,我们可以通过使用extern
关键字来做到这一点,那么在Groovy中呢?
如果要使用这种低级功能,请使用汇编程序。
即使在C语言中,编译器现在也会忽略“register”关键字,因为编译器在大多数情况下将变量赋值给寄存器的效率比人类更高。
你不能。 Groovy编译为运行在JVM中的Java字节码。并且没有办法从JVM专门将数据分配给CPU寄存器。
因此JVM负责照顾它?就像它会有算法在任何特定时间有效使用可用寄存器一样? – 2011-03-22 13:09:06
是的,JVM尽可能有效地运行代码 – 2011-03-22 13:13:39
好:)谢谢:) – 2011-03-22 13:19:09
你不能在任何寄存器中放入一个字符串(任何体面的长度)。
从何时groovy编译为非虚拟机代码? – Ingo 2011-03-22 13:06:23
我想一个更好的问题是,你如何将一个字符串存储在一个寄存器中,这样它就会产生任何差异(即不仅仅是指针)...... – Blindy 2011-03-22 13:23:57