|
Posted by Daniel Dyer on 11/14/07 19:57
On Wed, 14 Nov 2007 19:13:30 -0000, Steve <no.one@example.com> wrote:
>
> "Wojtek" <nowhere@a.com> wrote in message
> news:mn.727b7d7b87640b69.70216@a.com...
>> Steve wrote :
>>> php and java only get ONE pass at doing an optimization.
>>
>> Nope. Modern Java implementations use adaptive optimization during
>> runtime. With traditional compiled languages, the compiler does it once.
>>
>> http://en.wikipedia.org/wiki/Java_performance#Adaptive_optimization
>
> what i'm saying is that this is not a continual process, like a gui, or
> running process on a system. in the context of the web, java doesn't get
> to
> capitalize on more than a few adaptations given the
> run-produce-output-and-done nature of a web hit. make sense?
>
No, because the JVM's optimisation is over the lifetime of the JVM not the
liftime of a single request. A request just invokes a method in a
pre-existing Java application. That single, long-running Java application
is the servlet container (something like Tomcat or Jetty). The container
can either run standalone and serve-up everything (including HTML and
static resources) or, more common in large systems, it can sit behind
Apache, which will serve the static content and defer to the servlet
container for dynamic content.
So the JIT compiler can (and does) use information it has gathered from
hundreds or thousands of hits over hours or days in order to optimise the
code.
Dan.
--
Daniel Dyer
https://watchmaker.dev.java.net - Evolutionary Computation for Java
Navigation:
[Reply to this message]
|