An application of composite nano-patterns to compiler selected profiling techniques
Alexandre dos Santos Mignon, Ricardo Luis de Azevedo da Rocha · 2017
Machine learning techniques have been used in compilers to automatically determine which optimizations are best for each method of a program developed in Java language to reduce the execution time of the program. Profile data of Java methods such as their characteristics and their execution time are used to train the machine learning tools. We can get the execution time of the method by instrumentation your code. However, instrumentation of code interferes with the execution time of the method and also of the program. To minimize the problem, we can instrument only methods that can benefit, in a practical way, of the optimizations applied by the compiler.