What are stalled-cycles-frontend and stalled-cycles-backend in ‘perf stat’ result?

The theory: Let’s start from this: nowaday’s CPU’s are superscalar, which means that they can execute more than one instruction per cycle (IPC). Latest Intel architectures can go up to 4 IPC (4 x86 instruction decoders). Let’s not bring macro / micro fusion into discussion to complicate things more :). Typically, workloads do not reach … Read more

Why is the JVM stack-based and the Dalvik VM register-based?

There are a few attributes of a stack-based VM that fit in well with Java’s design goals: A stack-based design makes very few assumptions about the target hardware (registers, CPU features), so it’s easy to implement a VM on a wide variety of hardware. Since the operands for instructions are largely implicit, the object code … Read more