You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "SANTOS, DANIEL (SBCSI)" <ds...@sbc.com> on 2004/07/06 19:19:40 UTC

RE: Understanding Java -- I've officially decided that JSTL is one of the worst thingsto ever happen

Absolutely, it's important to understand Java and the dynamic compiler.
This study (the pdf linked below) may sound like propaganda, but dynamic
compilation does offer the ability to run faster than static
compilation, although it's usually not the case and is dependant on what
specifically you are doing in your code.

Moreover, I would propose that if you have having performance problems
with your JSTL-based application that it's probably either caused by
config problems or poor utilization of the Java language.  I would
suggest doing some profiling, with the Sun jvm, using something along
these lines:

java -Xprof -Dcompiler=NONE -Xrunhprof:cpu=samples,thread=y,depth=16

Then you run your application and I believe that you must terminate
normally for profiling to complete (i.e., no CTRL-C, etc).  This should
show where your bottlenecks are in your application.  If you want to see
how those bottle necks are effected by the compiler you can run this
with it on but it wont always be able to tell you the line numbers then
since there is no line-to-instruction mapping once it's been optimized.

good luck
Daniel



-----Original Message-----
From: SH Solutions [mailto:sh-solutions@gmx.net] 
Sent: Sunday, July 04, 2004 7:28 AM
To: 'Tomcat Users List'
Subject: RE: I've officially decided that JSTL is one of the worst
thingsto ever happen 


Hi

> It's not. But the use case is. 
> While Java is definitely a good approach for business apps, it's
unacceptable for edited apps, for which "look and feel" remains a top
criteria when the customer makes his choice.

I totally agree on this, even though there is a lot of progress going
on.

> While Java is definitely a good approach for business apps, it's
unacceptable for edited apps, for which "raw performance" remains a top
criteria when the customer makes his choice.

I do not agree on this any more. Java has prooven to be very efficient
and
is still improving more and more.
Right now, I would say that java applications (if well written) are at
least
half as fast as c applications (also well written).

Suns promotion gives you this:
http://research.sun.com/techrep/2002/smli_tr-2002-114.pdf
I agree, that Sun has interests on saying that java is fast, but read
it.

Java is even a lot faster in some areas of computing:
Assume, you have code that needs to allocate lots (thousands) of very
small
objects for a short period of time in memory. In C, where you do not
have a
garbage collector, you need to free these memory peaces one by one,
which is
a burdon for memory management and will slow down things. In Java,
allocation is fast (just one pointer operation) and there is no need to
free
things. The garbage collector throws all unreferenced objects of the
youngest collection away at once, not processing them one by one.
Obviously,
in such situations, Java has performance advantages. This seems to be a
seldom situation, but it occurs much more often, then you might think.
Especially in Java, where every function, that returns more then one
value
needs to return an temporary object. This seemed to be very costly for
me,
when I startet using Java, but right now I understood that this is has
constant costs - like in no conservative language.

Regards,
  Steffen


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org