ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaha_5.4.0.1/jmiperf.htm

76 lines
6.6 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Java method inlining performance considerations" />
<meta name="abstract" content="Method inlining can significantly improve method call performance. Any method that is final is a potential candidate for inlining." />
<meta name="description" content="Method inlining can significantly improve method call performance. Any method that is final is a potential candidate for inlining." />
<meta name="DC.Relation" scheme="URI" content="tuning.htm" />
<meta name="DC.Relation" scheme="URI" content="evenperf.htm" />
<meta name="DC.Relation" scheme="URI" content="runtperf.htm" />
<meta name="DC.Relation" scheme="URI" content="gc.htm" />
<meta name="DC.Relation" scheme="URI" content="jnmiperf.htm" />
<meta name="DC.Relation" scheme="URI" content="excperf.htm" />
<meta name="DC.Relation" scheme="URI" content="callperf.htm" />
<meta name="DC.Relation" scheme="URI" content="profperf.htm" />
<meta name="DC.Relation" scheme="URI" content="colpdc.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="jmiperf" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Java method inlining performance considerations</title>
</head>
<body id="jmiperf"><a name="jmiperf"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Java method inlining performance considerations</h1>
<div><p>Method inlining can significantly improve method call performance.
Any method that is final is a potential candidate for inlining.</p>
<p>The inline feature is available on the iSeries™ server through the <samp class="codeph">javac</samp> -o
option at compilation time. The size of your class files and transformed Java™ program
increases if you use the <samp class="codeph">javac</samp> -o option. You should consider
both the space and performance characteristics of your application when using
the -o option.</p>
<div class="note"><span class="notetitle">Note:</span> In general, it is best to not use the -o option of javac but instead
leave inlining to later phases.</div>
<p>The <a href="transfor.htm">Java transformer</a> enables inlining
for optimization level 30 and optimization level 40. Optimization level 30
enables some inlining of final methods within a single class. Optimization
level 40 enables inlining of final methods within a ZIP file or JAR file.
You can control method inlining with the AllowInlining and NoAllowInlining <a href="../rbam6/rbam6licopt.htm" target="_blank">LICOPT parameter
strings</a>. The iSeries interpreter does not perform method inlining.</p>
<p>The Just-In-Time (JIT) compiler also performs inlining of most final methods.
This is done automatically whenever the JIT compiler is active and it determines
that inlining will be beneficial.</p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="tuning.htm" title="You should take several aspects of Java application performance into consideration when building a Java application for your iSeries server.">Tune Java program performance with IBM Developer Kit for Java</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="evenperf.htm" title="The iSeries Java virtual machine enables the trace of certain Java events.">Java event trace performance tools</a></div>
<div><a href="runtperf.htm" title="Understanding the following considerations can help you improve the performance of your Java applications.">Java performance considerations</a></div>
<div><a href="gc.htm" title="Garbage collection is the process of freeing storage that is used by objects that are no longer referred to by a program. With garbage collection, programmers no longer have to write error prone code to explicitly &#34;free&#34; or &#34;delete&#34; their objects. This code frequently results in &#34;memory leak&#34; program errors. The garbage collector automatically detects an object or group of objects that the user program can no longer reach. It does this because there are no references to that object in any program structure. Once the object has been collected, you can allocate the space for other uses.">Java garbage collection</a></div>
<div><a href="jnmiperf.htm" title="Native method invocation on an iSeries server may not perform as well as native method invocation on other platforms.">Java Native Method Invocation performance considerations</a></div>
<div><a href="excperf.htm" title="The iSeries exception architecture allows versatile interrupt and retry capabilities. It also allows mixed language interaction. Throwing Java exceptions on an iSeries server may be more expensive than on other platforms. This should not affect overall application performance unless Java exceptions are routinely used in the normal application path.">Java exception performance considerations</a></div>
<div><a href="callperf.htm" title="Java method call traces provide significant performance information about the time that is spent in each Java method.">Java call trace performance tools</a></div>
<div><a href="profperf.htm" title="System wide central processing unit (CPU) profiling calculates the relative amount of CPU time that is spent in each Java method and all system functions in use by your Java program.">Java profiling performance tools</a></div>
</div>
<div class="reltasks"><strong>Related tasks</strong><br />
<div><a href="colpdc.htm" title="To collect Java performance data on an iSeries server, follow these steps.">Collect Java performance data</a></div>
</div>
</div>
</body>
</html>