IP Library Granted Patent US 7,398,522
Granted Patent B2
US 7,398,522 · App. 10/797,800 · Granted Jul 8, 2008

Compilation and runtime information generation and optimization

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,398,522
App. No.
10/797,800
Granted
Jul 8, 2008
Kind
B2
Abstract

To collect frequencies with which processes of a program are executed at high speed. A compiler apparatus for optimizing a program based on frequencies with which each process is executed has a loop process detection portion for detecting a repeatedly executed loop process of the program, a loop process frequency collection portion for collecting loop process frequencies with which the loop process is executed in the program, an in-loop process frequency collection portion for collecting in-loop process frequencies with which, as against times of execution of loop process, each of a plurality of in-loop processes included in the loop process is executed, an in-loop execution information generating portion for generating in-loop execution information indicating the frequencies with which each of the plurality of in-loop processes is executed in the case where the program is executed, and an optimization portion for optimizing the program based on the in-loop execution information.

Claims (14)

1. A compilation method for collecting frequencies with which each process is executed in a program to be optimized and optimizing said program based on the collected frequencies, said method having:

a loop process detection step of detecting a repeatedly executed loop process of said program;

a loop process frequency collection step of collecting loop process frequencies with which said loop process is executed in said program;

an in-loop process frequency collection step of collecting in-loop process frequencies with which, as against the number of times of execution of said loop process, each of a plurality of in-loop processes included in said loop process is executed;

an in-loop execution information generating step of, based on said loop process frequencies and said in-loop process frequencies, generating in-loop execution information indicating the frequencies with which each of said plurality of in-loop processes is executed in the case where said program is executed; and

an optimization step of optimizing said program based on said in-loop execution information generated by said in-loop execution information generating portion,

the in-loop executing information generating step further determining whether said loop process frequencies are higher than a predetermined reference frequency, and determining number of times of execution of said each of a plurality of in-loop processes.

2. A runtime information generating method comprising:

collecting frequencies with which each process is executed in a program to be optimized, said step of collecting frequencies comprising:

detecting a repeatedly executed loop process of said program;

collecting loop process frequencies with which said loop process is executed in said program;

collecting in-loop process frequencies with which, as against the number of times of execution of said loop process, each of a plurality of in-loop processes included in said loop process is executed;

based on said loop process frequencies and said in-loop process frequencies, generating in-loop execution information indicating the frequencies with which each of said plurality of in-loop processes is executed in the case where said program is executed, and optimizing said program based on said in-loop execution information generated by said in-loop execution information generating portion,

said generating further determining whether said loop process frequencies are higher than a predetermined reference frequency, and determining number of times of execution of said each of a plurality of in-loop processes if said loop process frequencies are higher than a predetermined reference frequency.

Assignments (3)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 027991/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2004
From: KOMATSU, HIDEAKI; SUGANUMA, TOSHIO; YASUE, TOSHIAKI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 015076/0100 →