I had no difference in times no matter how often I ran them. always
gave me the exact same number of millis at the beg and end of
execution. let me know if anyone can think of why that would be. (btw,
I am using jdk1.3)

-----Original Message-----
From: A mailing list about Java Server Pages specification and
reference
[mailto:[EMAIL PROTECTED]]On Behalf Of Panagiotis
Konstantinidis
Sent: Friday, December 14, 2001 6:25 AM
To: [EMAIL PROTECTED]
Subject: Re: [JSP-INTEREST] OffBeat question...Java performance.


14/12/2001 11:15:31, Sujit <[EMAIL PROTECTED]> wrote:

>String a = "aa";
>
>the String object "a" is not created
>that goes into the literal pool of the class ...
>
>btw
>array.length is a property not a method

  Indeed it is. You are right. The array.length is a property. The
length property adjusts itself everytime a new element is inserted in
the array.

>probably array.length also doesn't do any calculation.

  No more that the

 int l = arraStr.length;
  for (int j=0; j<ll; j++)

  is doing. The only thing they are doing then is to read the values
from the memory. One is reading the value l and the other the value
from the property length. Therefore I would expect more or less the
same assignm,ent times for the a +=
"aa"; but the second one always seems to be slower.

>still I'm not convinced with my reasoning,
>can anyone else help us out.
>
>
>----- Original Message -----
>From: "Panagiotis Konstantinidis" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Friday, December 14, 2001 6:04 AM
>Subject: Re: OffBeat question...Java performance.
>
>
>>   Hmmm.. Using jdk1.4 under windows 2000 I got the error message:
>>
>> not a statement: String a = "aa";
>>
>>   Declarign a String a; and changing the String a = "aa"; to a +=
"aa"; it
>worked but, despite my predictions, the first chunk of code run
faster than
>the second! I would expect the second to be faster... After running
the
>program twice doing a
>> += "aa", the first loop yielded 45396 and 45075 respectively while
the
>second loop yeilded 46486 and 45255.
>>
>>   Weird. Since the first loop has the overhead of recalculating the
arary
>length (even if it is a minimum overhead calculation) I would expect
>different results...
>>
>> 14/12/2001 10:58:23, ShriKant Vashishtha
<[EMAIL PROTECTED]>
>wrote:
>>
>> >Hi,
>> >
>> >This is the actual code which I tested. I am using the IBM
WebSphere3.53
>> >JIT
>> >enabled compiler. In my view also the second code should have been
>faster.
>> >But
>> >it's the first code instead which is puzzling me.
>> >
>> >-ShriKant
>> >
>> >
>> >
>> >A mailing list about Java Server Pages specification and reference
wrote:
>> >
>> >> From: Sujit <[EMAIL PROTECTED]>@JAVA.SUN.COM on 12/14/2001
05:35 AM
>EST
>> >>
>> >> Please respond to A mailing list about Java Server Pages
specification
>> >and
>> >>       reference <[EMAIL PROTECTED]>
>> >>
>> >> To:   [EMAIL PROTECTED]
>> >> cc:
>> >> Subject:  Re: OffBeat question...Java performance.
>> >>
>> >> Is this the actual code you tested and got the output ...
>> >> or
>> >> instead of the line String a = "aa";
>> >> you had some other code ??
>> >>
>> >> actually, String a = "aa"; even if you loop does nothing ...
>> >>
>> >> I think both the for loop will not be executed at all ...
>> >>
>> >> the JVM should optimises the code ...
>> >> and the time should be same ...
>> >>
>> >> BTW your second code snippet should be faster than the first one
...
>> >>
>> >> ----- Original Message -----
>> >> From: "ShriKant Vashishtha" <[EMAIL PROTECTED]>
>> >> To: <[EMAIL PROTECTED]>
>> >> Sent: Friday, December 14, 2001 5:14 AM
>> >> Subject: Re: OffBeat question...Java performance.
>> >>
>> >> > Hi,
>> >> >
>> >> > I apologise for the mistake. You are right. Please find the
currect
>> >> > snippets.
>> >> >
>> >> >         String [] arrayStr = new String[20000];
>> >> >         System.out.println(System.currentTimeMillis());
>> >> >         for(i=0;i<arrayStr.length;i++){
>> >> >                     String a="aa";
>> >> >         }
>> >> >         System.out.println(System.currentTimeMillis());
>> >> >
>> >> > Output:
>> >> > 1008319728796
>> >> > 1008319728799
>> >> >
>> >> >         String [] arrayStr = new String[20000];
>> >> >         int length = arrayStr.length;
>> >> >         System.out.println(System.currentTimeMillis());
>> >> >         for(i=0;i<length;i++){
>> >> >             String a="aa";
>> >> >         }
>> >> >         System.out.println(System.currentTimeMillis());
>> >> >
>> >> > Output:
>> >> > 1008319767200
>> >> > 1008319767221
>> >> >
>> >> > Regards,
>> >> > -ShriKant
>> >> >
>> >> > A mailing list about Java Server Pages specification and
reference
>> >wrote:
>> >> >
>> >> > > From: Sujit <[EMAIL PROTECTED]>@JAVA.SUN.COM on 12/14/2001
04:51
>AM
>> >> EST
>> >> > >
>> >> > > Please respond to A mailing list about Java Server Pages
>> >specification
>> >> > and
>> >> > >       reference <[EMAIL PROTECTED]>
>> >> > >
>> >> > > To:   [EMAIL PROTECTED]
>> >> > > cc:
>> >> > > Subject:  Re: OffBeat question...Java performance.
>> >> > >
>> >> > > what is the difference between both the code ..
>> >> > >
>> >> > > I don't see any difference between the code
>> >> > > that is embedded between the system.out's
>> >> > >
>> >> > > am I missing something ??
>> >> > >
>> >> > > ----- Original Message -----
>> >> > > From: "ShriKant Vashishtha" <[EMAIL PROTECTED]>
>> >> > > To: <[EMAIL PROTECTED]>
>> >> > > Sent: Friday, December 14, 2001 4:34 AM
>> >> > > Subject: OffBeat question...Java performance.
>> >> > >
>> >> > > > Hi,
>> >> > > >
>> >> > > > I am trying to judge the performance impact of the
following Java
>> >> code.
>> >> > > >
>> >> > > >         String [] arrayStr = new String[20000];
>> >> > > >         System.out.println(System.currentTimeMillis());
>> >> > > >         for(i=0;i<arrayStr.length;i++){
>> >> > > >                     String a="aa";
>> >> > > >         }
>> >> > > >         System.out.println(System.currentTimeMillis());
>> >> > > >
>> >> > > > Output:
>> >> > > > 1008319728796
>> >> > > > 1008319728799
>> >> > > >
>> >> > > >         String [] arrayStr = new String[20000];
>> >> > > >         int length = arrayStr.length;
>> >> > > >         System.out.println(System.currentTimeMillis());
>> >> > > >         for(i=0;i<arrayStr.length;i++){
>> >> > > >             String a="aa";
>> >> > > >         }
>> >> > > >         System.out.println(System.currentTimeMillis());
>> >> > > >
>> >> > > > Output:
>> >> > > > 1008319767200
>> >> > > > 1008319767221
>> >> > > >
>> >> > > > In my view the first code stub should have been faster as
in the
>> >> second
>> >> > > > snippet we are getting an overhead of a instance variable
call
>over
>> >> an
>> >> > > > String [] object compared to the length already computed
in the
>> >first
>> >> > > > one. What is happening behind the scene, I am not aware.
Could
>> >> somebody
>> >> > > > please explain.
>> >> > > >
>> >> > > > Thanks,
>> >> > > > -ShriKant
>> >> > > >
>> >> > > >
>> >> > >
>> >> >
>> >>
>>
>>====================================================================
=======
>> >> > > > To unsubscribe: mailto [EMAIL PROTECTED] with body:
"signoff
>> >> > > JSP-INTEREST".
>> >> > > > For digest: mailto [EMAIL PROTECTED] with body: "set
>> >JSP-INTEREST
>> >> > > DIGEST".
>> >> > > > Some relevant FAQs on JSP/Servlets can be found at:
>> >> > > >
>> >> > > >  http://archives.java.sun.com/jsp-interest.html
>> >> > > >  http://java.sun.com/products/jsp/faq.html
>> >> > > >  http://www.esperanto.org.nz/jsp/jspfaq.jsp
>> >> > > >  http://www.jguru.com/faq/index.jsp
>> >> > > >  http://www.jspinsider.com
>> >> > > >
>> >> > >
>> >> > >
>> >> >
>> >>
>>
>>====================================================================
=======
>> >> > > To unsubscribe: mailto [EMAIL PROTECTED] with body:
"signoff
>> >> > > JSP-INTEREST".
>> >> > > For digest: mailto [EMAIL PROTECTED] with body: "set
>JSP-INTEREST
>> >> > > DIGEST".
>> >> > > Some relevant FAQs on JSP/Servlets can be found at:
>> >> > >
>> >> > >  http://archives.java.sun.com/jsp-interest.html
>> >> > >  http://java.sun.com/products/jsp/faq.html
>> >> > >  http://www.esperanto.org.nz/jsp/jspfaq.jsp
>> >> > >  http://www.jguru.com/faq/index.jsp
>> >> > >  http://www.jspinsider.com
>> >> >
>> >> >
>> >>
>>
>>====================================================================
=======
>> >> > To unsubscribe: mailto [EMAIL PROTECTED] with body:
"signoff
>> >> JSP-INTEREST".
>> >> > For digest: mailto [EMAIL PROTECTED] with body: "set
JSP-INTEREST
>> >> DIGEST".
>> >> > Some relevant FAQs on JSP/Servlets can be found at:
>> >> >
>> >> >  http://archives.java.sun.com/jsp-interest.html
>> >> >  http://java.sun.com/products/jsp/faq.html
>> >> >  http://www.esperanto.org.nz/jsp/jspfaq.jsp
>> >> >  http://www.jguru.com/faq/index.jsp
>> >> >  http://www.jspinsider.com
>> >> >
>> >>
>> >>
>>
>>====================================================================
=======
>> >> To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
>> >> JSP-INTEREST".
>> >> For digest: mailto [EMAIL PROTECTED] with body: "set
JSP-INTEREST
>> >> DIGEST".
>> >> Some relevant FAQs on JSP/Servlets can be found at:
>> >>
>> >>  http://archives.java.sun.com/jsp-interest.html
>> >>  http://java.sun.com/products/jsp/faq.html
>> >>  http://www.esperanto.org.nz/jsp/jspfaq.jsp
>> >>  http://www.jguru.com/faq/index.jsp
>> >>  http://www.jspinsider.com
>> >
>>
>>====================================================================
=======
>> >To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
>JSP-INTEREST".
>> >For digest: mailto [EMAIL PROTECTED] with body: "set
JSP-INTEREST
>DIGEST".
>> >Some relevant FAQs on JSP/Servlets can be found at:
>> >
>> > http://archives.java.sun.com/jsp-interest.html
>> > http://java.sun.com/products/jsp/faq.html
>> > http://www.esperanto.org.nz/jsp/jspfaq.jsp
>> > http://www.jguru.com/faq/index.jsp
>> > http://www.jspinsider.com
>> >
>> __________________________________________
>> "It can only be attributed to human error"
>> 2001 A Space Odyssey
>>
>>
>=====================================================================
======
>> To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
>JSP-INTEREST".
>> For digest: mailto [EMAIL PROTECTED] with body: "set
JSP-INTEREST
>DIGEST".
>> Some relevant FAQs on JSP/Servlets can be found at:
>>
>>  http://archives.java.sun.com/jsp-interest.html
>>  http://java.sun.com/products/jsp/faq.html
>>  http://www.esperanto.org.nz/jsp/jspfaq.jsp
>>  http://www.jguru.com/faq/index.jsp
>>  http://www.jspinsider.com
>>
>
>=====================================================================
======
>To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
>For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
>Some relevant FAQs on JSP/Servlets can be found at:
>
> http://archives.java.sun.com/jsp-interest.html
> http://java.sun.com/products/jsp/faq.html
> http://www.esperanto.org.nz/jsp/jspfaq.jsp
> http://www.jguru.com/faq/index.jsp
> http://www.jspinsider.com
>
__________________________________________
"It can only be attributed to human error"
2001 A Space Odyssey

======================================================================
=====
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://archives.java.sun.com/jsp-interest.html
 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.jsp
 http://www.jguru.com/faq/index.jsp
 http://www.jspinsider.com

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://archives.java.sun.com/jsp-interest.html
 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.jsp
 http://www.jguru.com/faq/index.jsp
 http://www.jspinsider.com

Reply via email to