[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is Qemu the proper tool for performance Tests ?

From: Peter Maydell
Subject: Re: Is Qemu the proper tool for performance Tests ?
Date: Mon, 20 Jan 2020 15:03:42 +0000

On Mon, 20 Jan 2020 at 14:56, caner yilmaz <address@hidden> wrote:
> My team is developing a complex algorithm basically for network path finding 
> and this algorithm will run on an industrial PC in a near real time 
> environment. Target PC will be PLC or some kind of industrial PC. Since 
> response time is crucial for the developed algorithm we have to be running 
> performance tests and taking measurements in terms of response time.
> To do that, we are evaluating Qemu instead of instead of using  real hardware.
> My confusion is I read somewhere that Qemu is not cycle accurate, but 
> functionally accurate.

This is correct. QEMU does not attempt to model the performance
characteristics of real hardware, and will frequently have
very different behaviour. One simple example is that floating
point operations on real hardware run much faster than under QEMU.

> So, my question is with the right configuration, will Qemu give near results 
> to a real machine, especially in terms of response time ? Or is it just  a 
> tool for emulating the hardware for testing,debugging functionality of a 
> software for a specific target?

It is the latter. If you care about response times for
hard or near-real time work, then you will need to
run on real hardware.

(Note that this applies to QEMU used for emulation, not
when it's running a KVM-based virtual machine. In the
latter case the guest code runs directly on the host
CPU, and most of the time performance will then be that
of the host machine; there will still be discrepancies,
though -- for instance I/O operations when the guest
talks to hardware devices will be slower; and if the
host OS reschedules the VM to run something else then
this will cause the obvious visible effects to the VM.)

-- PMM

reply via email to

[Prev in Thread] Current Thread [Next in Thread]