Current software technology entails writing application programs in a high
level language intended to facilitate portability to different computer
processor platforms. Because the program is portable, the resulting object
code is not tailored to run as efficiently as possible on the particular
computer processor platform. Manually tuning a specific application
program may be done, but it is time consuming and is rarely done by the
end user. The disclosed invention provides an automated method of tuning
application programs to execute more efficiently. Based on several system
parameters provided by the user, the disclosed method comprises profiling
an application to determine where significant delays are occurring that
result from long table walks, constructing effective address tables to
identify the effective addresses associated with the most significant
delays, optimizing the placement of preload or touch instructions that
initiate execution of identified instructions prior to their placement in
the program sequence, building an optimized change file, and applying the
optimized change file to the object code. The optimized change file may be
inserted into the object code on a real-time basis.
A tecnologia atual do software envolve programas de aplicação da escrita em uma língua de nível elevado pretendida facilitar o portability às plataformas diferentes do processador do computador. Porque o programa é portátil, o código de objeto resultante não é costurado ao funcionamento tão eficientemente como possível na plataforma particular do processador do computador. Manualmente ajustar um programa de aplicação específico pode ser feito, mas é tempo que consome e é raramente para o fim usuário feito. A invenção divulgada fornece um método automatizado de ajustar programas de aplicação para executar mais eficientemente. Baseado em diversos parâmetros do sistema fornecidos pelo usuário, o método divulgado compreende perfilar uma aplicação para determinar onde significativo atrasa está ocorrendo que o resultado da tabela longa anda, construindo tabelas do endereço eficaz para identificar os endereços eficazes associados com o mais significativo atrasa, optimizing a colocação do preload ou das instruções do toque que execução iniciada de instruções identificadas antes de sua colocação na seqüência do programa, construindo uma lima optimized da mudança, e aplicando a lima optimized da mudança ao código de objeto. A lima optimized da mudança pode ser introduzida no código de objeto em uma base real-time.