terça-feira, 27 de fevereiro de 2007

Otimização de Código - I

Eliminação de sub-expressões comuns.

Suponha que a mesma expressão ocorre mais de uma vez em um trecho de programa. Se as variáveis que ocorrem na expressão não tem seus valores alterados entre as duas ocorrências, é possível calcular seu valor apenas uma vez.

Exemplo
...
Assign x = a + b.
...
Assign y = a + b.
...

Se os valores de a e de b não são alterados, é possível guardar o valor da expressão a + b em uma variável temporária (digamos t1) e usá-lo outra vez posteriormente.

...
Assign t1 = a + b.
Assign x = t1.
...
Assign y = t1.
...

ou, se a variável x ainda está disponível com o mesmo valor da segunda vez que a expressão é calculada,

...
Assign x = a + b.
...
Assign y = x.
...

dispensando o uso da temporária t1 otimizando ainda mais o código.

Nenhum comentário: