Difference between revisions of "CodeCompositionExpensive"
Jump to navigation
Jump to search
(Created page with "== Description == == Symptoms == == Detection == == Possible optimizations and/or fixes == == Applicable applications or algorithms or kernels ==") |
m |
||
| (One intermediate revision by one other user not shown) | |||
| Line 1: | Line 1: | ||
| + | [[Category:Performance Pattern]] | ||
== Description == | == Description == | ||
| + | The pattern "Code composition - expensive instructions" can be used to describe what happens if you use expensive instructions although there are cheaper ways. | ||
== Symptoms == | == Symptoms == | ||
| + | Like [[InstructionOverhead|Instruction Overhead]]. | ||
| + | |||
| + | For a piece of high-level code, the compiler outputs a lot of instructions although is could be done in less. One common example are non-vectorized instructions. | ||
== Detection == | == Detection == | ||
| + | High CPI if the problem is large-latency arithmetic | ||
== Possible optimizations and/or fixes == | == Possible optimizations and/or fixes == | ||
| + | Reduce complexity to that the compiler can generate better code | ||
== Applicable applications or algorithms or kernels == | == Applicable applications or algorithms or kernels == | ||
Latest revision as of 15:17, 3 September 2019
Description
The pattern "Code composition - expensive instructions" can be used to describe what happens if you use expensive instructions although there are cheaper ways.
Symptoms
Like Instruction Overhead.
For a piece of high-level code, the compiler outputs a lot of instructions although is could be done in less. One common example are non-vectorized instructions.
Detection
High CPI if the problem is large-latency arithmetic
Possible optimizations and/or fixes
Reduce complexity to that the compiler can generate better code