Примеры оптимизаций — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
Строка 5: Строка 5:
 
  |-
 
  |-
 
  |<source lang="Csharp">
 
  |<source lang="Csharp">
int x,y;
+
int getX(){ return x; }
x = y;
+
int getY(){ return y; }
 +
int square()
 +
{
 +
  ...
 +
  return getX(a)*getY(a);
 +
}
 
</source>
 
</source>
 
  |<source lang="Csharp">
 
  |<source lang="Csharp">
int x,y;
+
int getX(){ return x; }
x = y;
+
int getY(){ return y; }
 +
int square()
 +
{
 +
  ...
 +
  return x*y;
 +
}
 
</source>
 
</source>
 
  |}
 
  |}

Версия 20:38, 31 августа 2014

Подстановка (inlining)

До оптимизации После оптимизации
int getX(){ return x; }
int getY(){ return y; }
int square()
{
  ...
  return getX(a)*getY(a);
}
int getX(){ return x; }
int getY(){ return y; }
int square()
{
  ...
  return x*y;
}