C #.Увеличивает ли сокращение имен идентификаторов общую производительность приложения во время выполнения? - PullRequest
5 голосов
/ 13 июля 2011

Сокращение имен идентификаторов уменьшает размер получаемого исполняемого файла, поскольку код MSIL включает все эти имена, кроме имен локальных переменных. Влияет ли это на выполнение кода в среде выполнения .NET хорошим способом с точки зрения производительности, по крайней мере, в теории? Собственный машинный код не включает в себя все эти имена, но он взаимодействует со средой исполнения .NET. Поэтому мне интересно, имеет ли смысл запутывать (а именно сокращать имена идентификаторов) код MSIL, чтобы хотя бы немного увеличить производительность приложения во время выполнения.

Я был удивлен этим утверждением: «Dotfuscator улучшает производительность во время выполнения. Удаляя ненужные элементы программы и переименовывая идентификаторы в маленькие имена, Dotfuscator может фактически ускорить программы». http://msdn.microsoft.com/en-us/library/ms227226.aspx

Ответы [ 2 ]

4 голосов
/ 13 июля 2011

Имена идентификаторов отбрасываются компилятором / джиттером, поэтому это не имеет никакого значения.

2 голосов
/ 13 июля 2011

При первом запуске приложения MSIL компилируется в машинный код для этой платформы - после этого машинный код выполняется. Теоретически, я думаю, что это может повлиять на первую компиляцию в первый раз, но конечное время выполнения машинного кода, которое не использует эти имена, не изменится после завершения машинной компиляции.

...