Примеры оптимизаций — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) (→Подстановка (inlining)) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 26: | Строка 26: | ||
− | + | // | |
+ | </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)=== | ||
+ | {| | ||
+ | |'''До оптимизации''' | ||
+ | |'''После оптимизации''' | ||
+ | |- | ||
+ | |<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> | </source> | ||
|} | |} |
Текущая версия на 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;
}
// |