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

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

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

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

До оптимизации После оптимизации
double Sqr(double x)
{ 
  return x*x; 
}
static void Main()
{
  ...
  double d = Sqr(y);
}
static void Main()
{
  ...
  double d = y * y;
}