Apostila antiga - The Cyan Programming Language
Apostila antiga - The Cyan Programming Language
Apostila antiga - The Cyan Programming Language
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CHAPTER 5. OTIMIZAÇÃO DE CÓDIGO 49<br />
L1: cmp a, b<br />
goto> L2<br />
L3: ...<br />
L1: cmp a, b<br />
goto> L2<br />
goto L3<br />
...<br />
goto L4<br />
L3:<br />
As duas versões possuem o mesmo número de comandos. Contudo, a última versão é mais rápida<br />
porque o goto L3 só será executado quando a comparação falhar, enquanto que na versão não<br />
otimizada, goto L1 sempre será executado.<br />
7. Simplificações Algébricas.<br />
Estas otimizações serão apresentadas em C++ por uma questão de clareza.<br />
a = b + 0<br />
a = b * 1<br />
a = b * 0<br />
a = b / 1<br />
a = 0 - b<br />
a = b - 0<br />
a = b<br />
a = b<br />
a = 0<br />
a = b<br />
a = -b<br />
a = b<br />
Instruções como as acima geralmente não são produto da codificação direta do programador,<br />
mas o resultado da substituição de constantes:<br />
#define Max 1<br />
...<br />
size = n*Max;<br />
8. Transformações Utilizando Operações Dependentes de Máquinas.<br />
8*a