Abstract
The overhead involved in collecting fine-grained profiling information makes feedback-directed optimizations diÆult to perform online at runtime. As a result, the vast majority of work in offline feedback-directed optimization is not yet being applied in online systems. This paper describes the design and implementation of a fully automatic online approach for performing instrumentation and feedback-directed optimization. Our approach uses instrumentation sampling to reduce the overhead of instrumentation, thus eliminating many of the limitations present in existing online systems. Several online feedback-directed optimizations are described, including a novel algorithm for performing feedback-directed splitting. Our experimental results show improvements in peak performance of up to 20% while overhead remains low, with no individual execution being degraded more than 2%.