Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 20359 invoked from network); 4 Jun 2005 23:41:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 4 Jun 2005 23:41:16 -0000 Received: (qmail 98130 invoked by uid 500); 4 Jun 2005 23:41:13 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 97820 invoked by uid 500); 4 Jun 2005 23:41:12 -0000 Mailing-List: contact harmony-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-dev@incubator.apache.org Received: (qmail 97807 invoked by uid 99); 4 Jun 2005 23:41:12 -0000 X-ASF-Spam-Status: No, hits=0.5 required=10.0 tests=HTML_20_30,HTML_MESSAGE,RCVD_BY_IP,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of steven.gong@gmail.com designates 64.233.170.205 as permitted sender) Received: from rproxy.gmail.com (HELO rproxy.gmail.com) (64.233.170.205) by apache.org (qpsmtpd/0.28) with ESMTP; Sat, 04 Jun 2005 16:41:11 -0700 Received: by rproxy.gmail.com with SMTP id c16so1329439rne for ; Sat, 04 Jun 2005 16:41:09 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:references; b=mYjdlveeQbWV/crjaVbHtL5jL8cUC40EJppRwQqfYIZIx9S3UpGfHsn2nie9PUfkSy3nkRmaGXwbL+g0thSYK5D+oRlYVBTaQ0paLbgm7J7kwOq92PuaIrSBTYpdxo2rBB/kQ0VnTGt6u6ib49rYtgyGz1ddD66UNgIoR1Y+YEk= Received: by 10.38.73.32 with SMTP id v32mr1828000rna; Sat, 04 Jun 2005 16:41:09 -0700 (PDT) Received: by 10.38.12.29 with HTTP; Sat, 4 Jun 2005 16:41:09 -0700 (PDT) Message-ID: <7d3cd4a505060416414536c642@mail.gmail.com> Date: Sun, 5 Jun 2005 07:41:09 +0800 From: Steven Gong Reply-To: Steven Gong To: harmony-dev@incubator.apache.org Subject: Re: JVM performance article In-Reply-To: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_2451_27858613.1117928469833" References: X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------=_Part_2451_27858613.1117928469833 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On 6/4/05, Michael Hind wrote: >=20 > Instead, modern JVMs try to balance these compilation burps by using a > strategy (selective optimization) that tries to ensure a method really is > important enough to invoke the JIT on. This is often done by counting the > number of times a method is called and is sometimes augmented with a loop > count for the method (in case the method is called infrequently, but > nevertheless a good chunk of execution time is spent in.) When this cheap > profile indicates a method is important, the JIT is used to improve the > generated code. Other systems use infrequent sampling (100/sec) of the > call stack to find candidates to be JITed. Many such systems also use > multiple levels of JIT optimizations (similar to a static compiler) > depending on how important the method appears at runtime. Jikes RVM uses > the sampling to plug into a simple cost/benefit model to determine what > level (if any) of the JIT to use. Is the sampling process done before running or during runtime? If it's done= =20 during runtime, does it mean that some methods may be compiled several time= s=20 by different leveled JIT?=20 --=20 Best Regards Steven Gong ------=_Part_2451_27858613.1117928469833--