NanoJava provides valuable information, allowing the user to greatly improve code efficiency, and to better understand the internals of the JVM (Java Virtual Machine). Any Java programmer has some day encountered performance problems. These problems often come from very specific portions of the code. NanoJava allows to measure the three effects of a code section, the CPU time consumed by the code, the memory consumption impact of the code and the code size impact of the generated bytecode