An Efficient Memory System for Java
Source: City University of Hong Kong
One of the significant issues that hinder the performance of Java program execution is dynamic memory usage. Some researchers stated that in executing Java programs, 15.58% of the CPU time is used in handling memory allocation requests and 28.08% of the CPU time in garbage collection. A statistical study on the dynamic memory usage behavior of both desktops and servers, Java applications show similar locality, and that memory allocation requests are concentrated on small block sizes (< 1K bytes), and blocks allocated usually have short life times. Based on these findings, the authors proposed a hardware/software approach in handling memory allocation and de-allocation requests that gives a 17% overall performance gain in Java program execution.