Могу ли я использовать свои регистры процессора для моей производительности? - PullRequest
0 голосов
/ 22 марта 2011

Я знаю, что доступ к данным из регистров намного быстрее, чем доступ к памяти.Скажем в groovy, у меня есть такой код:

def anto = "Is this gets stored in register?"
println(anto)

Если мне нужно сохранить anto в регистре для оценки производительности, как это сделать?Есть ли способ сделать это в языках программирования, в основном в Groovy?Я думаю, на языке C мы можем сделать это, используя ключевое слово extern, как в Groovy?

Ответы [ 3 ]

6 голосов
/ 22 марта 2011

Вы не можете.Groovy компилируется в байт-код Java, который выполняется в JVM.И нет никакого способа назначить данные специально для регистра ЦП из JVM.

2 голосов
/ 22 марта 2011

Если вы хотите использовать такие низкоуровневые функции, используйте ассемблер.

Даже в C ключевое слово «register» в настоящее время игнорируется компилятором, поскольку компилятор присваивает переменные регистрам в большинстве случаев более эффективно, чем это может сделать человек.

0 голосов
/ 24 марта 2011

Вы не можете поместить строку (любой приличной длины) ни в один регистр.

...