In accordance with a method and system of the present invention, a
compression scheme for program executables is disclosed. First,
instruction clustering starts by placing each instruction in a cluster by
itself. The method and system then compute in an iterative fashion the
distance between clusters, and merge the nearest clusters to form larger
clusters. Therefore, instructions are clustered into groups, such that
instructions belonging to the same cluster show similar bit patterns. This
process stops when the number of clusters reaches a pre-specified goal.
This goal is defined empirically, and may be adjusted if better
compression can result. After all clusters have been defined, a suitable
compressor is applied to each cluster to produce the compressed
executable.
De acuerdo con un método y un sistema de la actual invención, un esquema de la compresión para los executables del programa se divulga. Primero, comienzo que arracima de la instrucción poniendo cada instrucción en un racimo por sí mismo. El método y el sistema entonces computan en una manera iterativa la distancia entre los racimos, y combinan los racimos más cercanos para formar racimos más grandes. Por lo tanto, las instrucciones se arraciman en los grupos, tales que las instrucciones que pertenecen al mismo racimo demuestran configuraciones de bits similares. Este proceso para cuando el número de racimos alcanza una meta especificada primero. Esta meta se define empírico, y puede ser ajustada si una compresión mejor puede resultar. Después de que se hayan definido todos los racimos, un compresor conveniente se aplica a cada racimo para producir el ejecutable comprimido.