ZZ Dynamic Compilation 可以讨论下
http://www.newsmth.net/bbsanc.php?path=%2Fgroups%2Fcomp.faq%2FCSArch%2F5%2FM.982641139.AThe University of Washington Dynamic Compilation Group
is exploring the technique of automatic dynamic compilation,
generating code at run time with the goal of improving
application performance. More specifically, we have been
investigating run-time specialization -- dynamic optimization
using program data values. Our work targets general-purpose,
imperative programming languages, initially C.
Run-time specialization enables applications to adapt to
particular program inputs and actual run-time behavior.
Run-time specialization holds the promise of tremendous
performance improvements for some applications; however,
a number of challenges still need to be addressed before
the technology can be widely deployed. First, the run-time
cost of the run-time optimizations can be significant;
the challenge is to reduce the cost of dynamic optimizations
without overly decreasing their effectiveness. Second,
the performance impact of the optimizations is highly
variable. Together with cost considerations, one easily
concludes that it is usually not beneficial to apply all
available optimizations to all potential targets. However,
the number of potential optimization configurations is large, so automatic s
election of optimizations and their targets is non-trivial.
We are working towards addressing these two challenges:
low-cost run-time optimization and automatic application
of run-time specialization. To that end, we have designed
and built a dynamic-compilation system, dubbed DyC
(pronounced dicey). DyC is based on a principled extension
of partial evaluation and is currently driven by user
annotations. DyC has good potential for producing speedups
for larger, more complex C programs than previous
general-purpose run-time-specialization systems have
achieved. Our results for a few medium-sized programs
are encouraging. The best speedup we obtained, 4.6, was
for mipsi, an instruction-level simulator for the MIPS
R3000. Dynamic-compilation overhead is low, averaging
10-1000 cycles per instruction generated on the DEC
Alpha 21164, depending on what optimizations are
performed.
[ 本帖最后由 prolj 于 2008-5-17 13:26 编辑 ] 和JIT有点像
LTO也是为了这种效果
有个有趣的项目好像在link-time进行全部的优化
页:
[1]