2013-04-24 3 views
0

При просмотре промежуточного языка каждая команда имеет определенный размер байта.Является ли производительность IL связанной с ее размером кода?

Если у меня есть метод с общим размером кода (сумма размеров инструкций) 10 байт и метод с общим размером кода 20 байт, могу ли я предположить, что первый из них выполняется быстрее?

У меня нет знаний о том, как ИЛ преобразуется в машинный код, и поэтому я думаю, что производительность отличается от самой инструкции IL и не связана напрямую с ее размером байта.

Является ли время выполнения IL напрямую связано с его размером кода?

+0

это может быть связано с этим более ранним вопросом: http://stackoverflow.com/questions/14937815/how-to-compare-two-implementations-of-the-same-algorithm-by-examine-their-asse/ – Floris

+1

IL для бесконечного цикла может быть довольно маленьким! –

ответ

4

Является ли время выполнения IL напрямую связано с его размером кода?

Нет. Наивно, похоже, это должно быть правдой, но в действительности это намного сложнее.

Это зависит от конкретного случая. Вот почему невозможно дать «правила» для оптимизации кода. Вы не можете делать наивные предположения о том, что будет быстрее. Вам просто нужно проверить различные параметры вашей целевой архитектуры и посмотреть, какой из них действительно быстрее.

 Смежные вопросы

  • Нет связанных вопросов^_^