|
From: | Avi Kivity |
Subject: | Re: [Qemu-devel] branches are expensive |
Date: | Tue, 17 Mar 2009 13:18:20 +0200 |
User-agent: | Thunderbird 2.0.0.19 (X11/20090105) |
Steffen Liebergeld wrote:
Hi, while measuring the execution of an ARM guest, I encountered that branches are extremely expensive in terms of executed host instructions. A single ARM branch takes 148 to 152 host instructions. In my setup host and guest use the ARM instruction set architecture. My question is what makes branches so expensive? What code is run when executing a branch? Other instructions are translated to 14 to 40 instructions.
I'm no tcg guru, but if branches are not chained, you'd need an expensive lookup to find the next translation block. If branches are chained they'll probably be much faster.
-- error compiling committee.c: too many arguments to function
[Prev in Thread] | Current Thread | [Next in Thread] |