Patent ID: 9696966
Date: 2017-07-04
CPC Classifications: G06F

Claim:
1. A non-transitory computer-readable tangible medium storing computer-readable instructions for use at the linker stage of a software development tool and adapted to improve the performance of an executable for a specific target computer system comprising at least one processor, a software storage, and read/write memories including caches, buffers, and accelerators, the computer-readable instructions comprising: instructions to receive one or more of object files and library files and to analyze instruction sequences and data structures therein used in generation of executables for the specific target computer system; instructions to determine interactions of the one or more of the object files and the library files, the at least one processor, and the read/write memories of the specific target computer system with respect to one or more of: relationships between the instruction sequences, relationships between the data structures, and relationships between the instruction sequences and the data structures; instructions to re-sequence one or more of: to generate re-sequenced versions, wherein each generated re-sequenced version has a different set of at least one re-sequenced instruction sequence and/or re-sequenced data structure; instructions to determine statically, for each generated re-sequenced version, an Average Case Execution Time (ACET) with respect to one or more processors and one or more read/write memories of the specific target computer system on which the executable is to be executed; instructions to select one or more of the generated re-sequenced versions based on each generated re-sequenced version's ACET; and instructions to generate the executable using the one or more of the selected re-sequenced versions.