On a properly setup KVM VM host, one that leaves sufficient RAM and CPU for the host to manage VMs, I've seen 95-98% vCPU compared to native.
However, if the CPUs are overallocated, then performance will suffer. I try to leave 1 CPU just for the hostOS and don't over allocate too many vCPUs to any single VM. Generally, each VM only gets 1 vCPU assigned unless there is a specific need for 2. I've never assigned more than 2 vCPUs, but we don't do geospacial DBs here either.
There is a youtube video showing GPU passthru for Windows gaming where 95% of gaming performance including FPS is shown using benchmark tools. I'm not a gamer, but many people who are interested in raw CPU performance inside a VM are.