Какие сценарии максимизируют влияние на производительность более высокого числа регистров в системе x64 для кода C #? - PullRequest
8 голосов
/ 19 января 2011

Из блога Эрика Липперта Правда о типах значений ясно, что количество регистров может оказать существенное влияние на производительность кода.Каковы критерии кода, которые получают наибольшую выгоду от большего числа регистров в системах x64?Есть ли хорошие примеры?

Мне ясно, что количество регистров не является единственным и даже не самым важным аспектом платформы x64, но если есть такие критерии, должна ли платформа, которую мы планируемзапустить наш код влияет на то, как мы пишем наш код?

1 Ответ

1 голос
/ 19 июля 2013

Краткий ответ на ваш вопрос однозначно - нет.

Самое большое преимущество при программировании на C # (или Java) состоит в том, что вам не нужно беспокоиться о таких вещах, как место хранения или нечистые указатели.
CLR в любом случае не предназначен для приложений реального времени или, другими словами, чтобы предоставить вам такой контроль над оборудованием, он разработан как инструмент быстрой разработки приложений, и в этом его сила - конечно, в цене не в состоянии контролировать поведение низкого уровня.

В целом нет никаких критериев кодирования, которые могли бы извлечь выгоду, но есть исключения, например использование строителя строк вместо записи string_Result = string_X + string_Y + string_Z в итерации
но это больше относится к правильному кодированию или оптимизированному кодированию независимо от CLI или C #.

...