Abstract:
PROBLEM TO BE SOLVED: To replace memory accesses with register accesses in order to improve performance in computer resources.SOLUTION: Memory accesses to a stack area saving the values of respective registers are replaced with local variable accesses. On condition that SPs are not escaping, the memory accesses via the SPs which are not escaping are replaced with the local variable accesses. Call numbers are imparted to respective call instructions and in-lined codes in response to the in-lining of the codes to be called by the call instructions included in a binary code. When the SPs are escaping, the memory accesses belonging to the call numbers imparted to the instructions causing escaping and the ancestor call numbers of the call numbers are prohibited to be replaced with the local variable accesses among the memory accesses where the escaping SPs are defined as base addresses. In the meantime, the remaining memory accesses without prohibition are replaced with the local variable accesses.
Abstract:
Techniques for refinement of data pipelines are provided. An original file of serialized objects is received, and an original pipeline comprising a plurality of transformations is identified based on the original file. A first computing cost is determined for a first transformation of the plurality of transformations. The first transformation is modified using a predefined optimization, and a second cost of the modified first transformation is determined. Upon determining that the second cost is lower than the first cost, the first transformation is replaced, in the original pipeline, with the optimized first transformation.
Abstract:
Ein Computer stellt einen ersten Cachebereich und einen zweiten Cachebereich in einem Cache in einem Informationsverarbeitungssystem bereit, das eine Datenbankrepository und den Cache für die Datenbankrepository aufweist. Der Computer empfängt, in einem ersten Zeitfenster, Streaming-Daten und schreibt die Streaming-Daten in den ersten Cachebereich. Der Computer verhindert, in dem ersten Zeitfenster, das Durchführen einer Synchronisierung zwischen dem ersten Cachebereich und der Datenbankrepository. Der Computer ermöglicht, in mindestens einem Teil des ersten Zeitfensters, eine Synchronisierung zwischen der Datenbankrepository und dem zweiten Cachebereich. Der Computer ermöglicht, nach dem Ablauf des ersten Zeitfensters, eine Synchronisierung zwischen dem ersten Cachebereich und der Datenbankrepository.
Abstract:
PROBLEM TO BE SOLVED: To provide a method for detecting a similar logic based on the context of a program, in order to solve the problem when a developer analyzes performance of the program, an expected result may not be obtained by analysis in units of method. SOLUTION: The method for supporting analysis of a program by grouping an algorithm contained in the program includes steps of: converting the algorithm into a directed graph; determining whether the converted directed graph is similar to a typical directed graph stored in a storage part 210 of a computer system; and determining, from groups stored in the storage part 210, a group to which the converted directed graph belongs. COPYRIGHT: (C)2010,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To effectively use instructions unique to an architecture. SOLUTION: A compiler comprises a target subprogram detection part for detecting a subprogram including instructions corresponding to all the instructions included in a pattern to be replaced, from a plurality of subprograms of a target program to be optimized, as a target subprogram to be optimized, an instruction sequence modification part for modifying instructions other than the instructions corresponding to the instructions included in the pattern to be replaced, and instructions different in execution dependency from the pattern to be replaced, in the target subprogram, such that the instructions included in the target subprogram match the pattern to be replaced in dependency, and an instruction sequence replacement part for replacing the target subprogram modified by the instruction sequence modification part with a replacement instruction sequence corresponding to the pattern to be replaced. COPYRIGHT: (C)2006,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To improve an effect of data flow optimizing processing without explosively increasing a code quantity, while defining a program in which a plurality of branchings and joinings are serially arrayed as an object. SOLUTION: This device is provided with an optimizing processing executing part 13 for applying data flow optimizing processing to a program, an optimizing object path determining part and a control flow graph deforming part 12 for deforming the program of a processing object into form suited to this optimizing processing, before optimizing processing by means of this optimizing processing executing part 13. When this program has branching, these optimizing object path determining part 11 and control flow graph deforming part 12 extract a series of paths having no merging with respect to this branching by selecting a specified path in this branching, and this optimizing processing executing part 13 applies optimizing processing to the paths extracted by the optimizing object path determining part 11 and the control flow graph deforming part 12.
Abstract:
Bereitgestellt werden Methoden zur Verfeinerung von Daten-Pipelines. Eine ursprüngliche Datei von serialisierten Objekten wird empfangen, und eine ursprüngliche Pipeline, die eine Mehrzahl von Transformationen aufweist, wird auf Grundlage der ursprünglichen Datei identifiziert. Für eine erste Transformation der Mehrzahl von Transformationen werden erste Datenverarbeitungskosten ermittelt. Die erste Transformation wird unter Verwendung einer vordefinierten Optimierung modifiziert, und zweite Kosten der modifizierten ersten Transformation werden ermittelt. Wenn ermittelt wird, dass die zweiten Kosten niedriger als die ersten Kosten sind, wird die erste Transformation in der ursprünglichen Pipeline durch die optimierte erste Transformation ersetzt.
Abstract:
PROBLEM TO BE SOLVED: To optimize for replacing an instruction string into an instruction allowed to be executed at a higher speed to programs of sorts more than before. SOLUTION: A compiler device for detecting a previously determined substitution target pattern having a plurality of instructions from a target program to be optimized and replacing the detected substitution target pattern into a substitution destination instruction string determined correspondingly to the substitution target pattern to optimize the target program is provided. The compiler device retrieves and stores a partial program including the substitution target pattern out of a plurality of partial programs included in the target program, deforms the stored target partial program so that an instruction to be executed before a condition branching instruction is moved to respective branched destinations of the condition branching instruction, makes dependence relation between instructions included in the target partial program coincide with the substitution target pattern, substitutes the deformed target partial program into a substitution destination instruction string determined correspondingly to the substitution target pattern, and outputs the substituted instruction string in a state of included in the optimized target program. COPYRIGHT: (C)2008,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To efficiently optimize load instructions for reading out data from a memory. SOLUTION: In an object program of an optimization object, an optimization compiler optimizes the load instructions for reading out data from the memory. The optimization compiler comprises: a partial redundancy removal means for performing removal processing of partial redundancy, which does not cause spill processing, when variables are allocated to a register with respect to the load instructions for reading data in the variables from the memory; a reverse direction register detection means for detecting a space register, which is not allocated to any variables in an execution route arriving at the load instructions by retrieving an execution sequence from the instructions using the data read out by the load instructions; and a space register allocating means for allocating the space register detected by the reverse direction register detection means to the readout destination variables where the load instructions read out data. COPYRIGHT: (C)2005,JPO&NCIPI