harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Egor Pasko <egor.pa...@gmail.com>
Subject Re: [drlvm][jitrino]A question of pipeline and method filter
Date Tue, 18 Dec 2007 11:04:17 GMT
On the 0x3AF day of Apache Harmony Simon Chow wrote:
> Is there any analysis tools automatically choosing optimization path for my
> source code.
> If no,
> Do you think such a tool can help developers a lot for archiving better
> performance on Harmony.
> I am trying to do some research for OPT, expecting for your advice. Thanks!


I just want to add some of my long thoughts.. :)

JITs aim at solving the problem of optimizing code with more or less
universal approaches. We have this great tool as compilation pipeline
management for developers' ability to experiment. JIT is already
overly complicated with many pipeline phases influencing each other
sometimes in very unexpected ways :)

I do not believe in just-in-time meta-optimization because even the
optimization tool (without meta) is already very complicated. However,
if a user is ready to pay a lot if time to get a real bang in
performance (of a single method or the whole app), they should
consider searching in the big space of JIT configurations
automatically, where some not very intelligent artificial intelligence
might be promising here.

I suggest to apply artificial intelligence here because anyway we
won't be able to understand what configurations are best using our own
brains and hence we won't be able to write code for that.

But be prepared to see that:

a) not many of possible JIT pipelines make sense in terms of both
compile-time and run-time performance plus memory footprint

b) very little number of configurations would work in a stable way
(because we do not test them, and some optimization passes are
documented to work only in specific conditions, i.e. other
optimizations preceded)

What do you think?

> On 17/12/2007, Mikhail Fursov <mike.fursov@gmail.com> wrote:
> >
> > On Dec 17, 2007 4:06 PM, Simon Chow <simon.harmony@gmail.com> wrote:
> >
> > > Thank you very much!
> > >
> > > So users should choose pipeline for methods before execution, isn't it?
> >
> > Yes.
> >
> >
> > > Then I wants to know how to build a pipeline with the most efficient
> > > compilation result of a specified method. Does it rely on the
> > developer's
> > > experience?
> > >
> > > Yes, it depends on developer's experience and on optimizations you
> > expect
> > to work for your method. E.g. if you know that your hot-spot method
> > benefits
> > from particular optimization - you just add it to the optimization path
> > and
> > tune it to do the best job for your method.
> >
> > --
> > Mikhail Fursov
> >
> -- 
> From : Simon.Chow@Software School of Fudan University

Egor Pasko

View raw message