| The compiler will optimize the code in order to get high performance. A traditional optimizing compiler relies entirely on static analysis of the program's source code, and the information is static. The optimization which depends on static information has increased dramatically in the last decade. The optimization technique and the algorithm have proven their worth in the increased performance of programs. However, static analysis by definition can only guess at the performance characteristics of a program, the static information is different from the true run-time characteristics of a program, so the performance can't be improved as we expect. We need a kind of technique that can get the run-time information of a program. The optimization depends on it. Profiling is used to collect the run-time information of a program, record and save the information. And compiler will use the information to optimize the code. The technique is called profiling based technique that depends on profiling. It can improve much more basing on the static optimization. The profiling can be divided into two parts, one depends on control flow graph and the other depends on the data stream. Now the profiling-based optimization is becoming a hotspot recently. We will do some work about profiling research.This paper describes the technique of edge profiling, path profiling and value profiling. We will focus on the next part:â‘ We will introduce the edge profiling and path profiling, and describe how to design framework of profiling which is convenient for other profiling implement. In ORC, we implemented the edge profiling and value profiling. The performance is improved by 5%.â‘¡We describe the function inline depending on information from edge profiling. We will automatically inline to improve the performance of code.â‘¢To design a broad sense profiling of control flow graph. It combines the edge profiling and path profiling. We can gather the information of edge profiling and path profiling from the broad sense profiling. At the same time we can provide the other information about control flow. |