On 18 Dec 2007 14:04:17 +0300, Egor Pasko <[EMAIL PROTECTED]> wrote: > > 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! > > Simon, > > 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.
Sorry for a late reply. Thank you for sharing so much thoughts! :) I have rethinked this question recently. I strongly agree that it hard to write a program with such intelligence. And I am curious about intelligent artificial intelligence you said :) What is the method of searching configuration space? Despiting the untested passes, Is there any possibility changing the pipeline configuration (or create a new pipeline) for a particular set of method which may archive better performance with some optimization pass by analyzing profiling information? Thanks 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 <[EMAIL PROTECTED]> wrote: > > > > > > On Dec 17, 2007 4:06 PM, Simon Chow <[EMAIL PROTECTED]> 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 : [EMAIL PROTECTED] School of Fudan University > > -- > Egor Pasko > > -- >From : [EMAIL PROTECTED] School of Fudan University
