Примеры оптимизаций — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (→Подстановка (inlining)) |
Admin (обсуждение | вклад) (→Подстановка (inlining)) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
: [[Страница курса "Методы создания оптимизирующих компиляторов"|К странице курса]] | : [[Страница курса "Методы создания оптимизирующих компиляторов"|К странице курса]] | ||
+ | |||
+ | ===Подстановка (inlining)=== | ||
+ | {| | ||
+ | |'''До оптимизации''' | ||
+ | |'''После оптимизации''' | ||
+ | |- | ||
+ | |<source lang="Csharp"> | ||
+ | double Sqr(double x) | ||
+ | { | ||
+ | return x*x; | ||
+ | } | ||
+ | static void Main() | ||
+ | { | ||
+ | ... | ||
+ | double d = Sqr(y); | ||
+ | } | ||
+ | </source> | ||
+ | |<source lang="Csharp"> | ||
+ | static void Main() | ||
+ | { | ||
+ | ... | ||
+ | double d = y * y; | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | // | ||
+ | </source> | ||
+ | |} | ||
+ | |||
+ | ===Подстановка (inlining)=== | ||
+ | {| | ||
+ | |'''До оптимизации''' | ||
+ | |'''После оптимизации''' | ||
+ | |- | ||
+ | |<source lang="Csharp"> | ||
+ | double Sqr(double x) | ||
+ | { | ||
+ | return x*x; | ||
+ | } | ||
+ | static void Main() | ||
+ | { | ||
+ | ... | ||
+ | double d = Sqr(y); | ||
+ | } | ||
+ | </source> | ||
+ | |<source lang="Csharp"> | ||
+ | static void Main() | ||
+ | { | ||
+ | ... | ||
+ | double d = y * y; | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | // | ||
+ | </source> | ||
+ | |} | ||
+ | |||
+ | ===Подстановка (inlining)=== | ||
+ | {| | ||
+ | |'''До оптимизации''' | ||
+ | |'''После оптимизации''' | ||
+ | |- | ||
+ | |<source lang="Csharp"> | ||
+ | double Sqr(double x) | ||
+ | { | ||
+ | return x*x; | ||
+ | } | ||
+ | static void Main() | ||
+ | { | ||
+ | ... | ||
+ | double d = Sqr(y); | ||
+ | } | ||
+ | </source> | ||
+ | |<source lang="Csharp"> | ||
+ | static void Main() | ||
+ | { | ||
+ | ... | ||
+ | double d = y * y; | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | // | ||
+ | </source> | ||
+ | |} | ||
===Подстановка (inlining)=== | ===Подстановка (inlining)=== |
Текущая версия на 20:56, 31 августа 2014
Содержание
Подстановка (inlining)
До оптимизации | После оптимизации |
double Sqr(double x)
{
return x*x;
}
static void Main()
{
...
double d = Sqr(y);
} |
static void Main()
{
...
double d = y * y;
}
// |
Подстановка (inlining)
До оптимизации | После оптимизации |
double Sqr(double x)
{
return x*x;
}
static void Main()
{
...
double d = Sqr(y);
} |
static void Main()
{
...
double d = y * y;
}
// |
Подстановка (inlining)
До оптимизации | После оптимизации |
double Sqr(double x)
{
return x*x;
}
static void Main()
{
...
double d = Sqr(y);
} |
static void Main()
{
...
double d = y * y;
}
// |
Подстановка (inlining)
До оптимизации | После оптимизации |
double Sqr(double x)
{
return x*x;
}
static void Main()
{
...
double d = Sqr(y);
} |
static void Main()
{
...
double d = y * y;
}
// |