# US 9,858,183 B2 · Determining a benefit of reducing memory footprint of a Java application

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,858,183 B2
- Document ID: US9858183B2
- Status: Granted
- Kind: B2
- Application number: 15/361,466
- Filed: 2016-11-27
- Published: 2017-03-16
- Granted: 2018-01-02
- Earliest claimed: 2004-01-21
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Wilfred C. Jamison
- Web page: https://patentgrep.com/patent/US9858183B2

## CPC

- G06F 12/0253: {Garbage collection, i.e. reclamation of unreferenced memory}
- G06F 8/315: {Object-oriented languages}
- G06F 11/3692: {for test results analysis}
- G06F 12/023: {Free address space management}
- Y10S 707/99953: Recoverability
- Y10S 707/99957: Garbage collection
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

Changes in performance in a Java program are deduced from information related to garbage collection events of the program. Assumptions are made about the system, the application and garbage collection, and changes in performance that will result from modifying the program are deduced.

## Claims

### Claim 1

A method, within a computer hardware system having a heap, of improving performance in a computer program, comprising:
identifying, by the computer hardware system, when the computer program, while executing, enters a steady state;
obtaining, by the computer hardware system and only after the computer program has been identified as entering the steady state, information regarding garbage collection being performed in an environment in which the computer program is executing; and
determining, by the computer hardware system and based upon the information and a proposed modification to the computer program, changes in performance of the computer program.

### Claim 2 (depends on 1)

The method of claim 1, wherein
the information includes
an average duration of garbage collection events, and
a frequency of garbage collection events.

### Claim 3 (depends on 1)

The method of claim 1, wherein
the environment is a virtual machine.

### Claim 4 (depends on 1)

The method of claim 1, wherein
the proposed modification is a reduction in an amount of memory from live memory.

### Claim 5 (depends on 1)

The method of claim 1, wherein
the performance is number of transactions over a specified duration.

### Claim 6 (depends on 1)

The method of claim 1, wherein
the performance is a function of time spent during garbage collection relative over a specified duration.

### Claim 7 (depends on 1)

The method of claim 1, wherein
the information is obtained from a verbosegc.

### Claim 8

A computer hardware system configured to improve a performance in a computer program, comprising:
a memory; and
a hardware processor configured to initiate the following executable operations:
identifying when the computer program, while executing, enters a steady state;
obtaining, only after the computer program has been identified as entering the steady state, information regarding garbage collection being performed in an environment in which the computer program is executing; and
determining, based upon the information and a proposed modification to the computer program, changes in performance of the computer program.

### Claim 9 (depends on 8)

The system of claim 8, wherein
the information includes
an average duration of garbage collection events, and
a frequency of garbage collection events.

### Claim 10 (depends on 8)

The system of claim 8, wherein
the environment is a virtual machine.

### Claim 11 (depends on 8)

The system of claim 8, wherein
the proposed modification is a reduction in an amount of memory from live memory.

### Claim 12 (depends on 8)

The system of claim 8, wherein
the performance is number of transactions over a specified duration.

### Claim 13 (depends on 8)

The system of claim 8, wherein
the performance is a function of time spent during garbage collection relative over a specified duration.

### Claim 14 (depends on 8)

The system of claim 8, wherein
the information is obtained from a verbosegc.

### Claim 15

A computer program product, comprising:
a hardware storage device having stored therein computer usable program code for improving performance in a computer program,
the computer usable program code, which when executed by a computer hardware system, causes the computer hardware system to perform:
identifying when the computer program, while executing, enters a steady state;
obtaining, only after the computer program has been identified as entering the steady state, information regarding garbage collection being performed in an environment in which the computer program is executing; and
determining, based upon the information and a proposed modification to the computer program, changes in performance of the computer program.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein
the information includes
an average duration of garbage collection events, and
a frequency of garbage collection events.

### Claim 17 (depends on 15)

The computer program product of claim 15, wherein
the environment is a virtual machine.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein
the proposed modification is a reduction in an amount of memory from live memory.

### Claim 19 (depends on 15)

The computer program product of claim 15, wherein
the performance is number of transactions over a specified duration.

### Claim 20 (depends on 15)

The computer program product of claim 15, wherein
the performance is a function of time spent during garbage collection relative over a specified duration.
