"But 4x less CPU."
You are seriously naive if you think the number of logical cores the hypervisor presents to your VM is the sole determiner of CPU execution resources.
Here is a counter example, imagine I have two VM host servers with 16 logical cores. On one I could pin each VM to 1 logical core, on the other I could run 300 VMs and give each VM 24 logical cores... The first one is going to perform much better.
Also some hypervisors (for example VMware) only executes a VM when they have as many cores as the VM has cores available for execution. So having many logical cores in your VM can negatively influence CPU scheduling.
He's not naive; you're being overly cynical. This is like pointing out that an SSD could technically be programmed to work much more slowly than a 5200 RPM drive and thus be a worse value than Linode's spinning platters — unless you have a reasonable belief that somebody is actually doing that, it's just FUD.
Based on the benchmarks I've seen, it appears that Linode really does give the kind of concurrency you'd expect from four cores (i.e. if your problem is parallelizable, you can scale up on Linode better than Digital Ocean, whereas Digital Ocean will work much better if your program is serial and needs to hit the disk a lot).
Actually, hypervisor details aside, 8 VCPUs fully pegged at 100% user or system time will consume 4x the capacity of 2 VCPUs fully pegged at 100% user or system time in a domU, assuming comparable chips. Always and regardless of how Xen schedules the VCPUs onto actual nodes.
Your hand-waving about the hypervisor is unwarranted, since hypervisor interference under Xen shows up as its own time from the perspective of the domU (steal%) and nobody worth mentioning actually does hosting with VMware.
> Also some hypervisors (for example VMware) only executes a VM when they have as many cores as the VM has cores available for execution. So having many logical cores in your VM can negatively influence CPU scheduling.
Good thing Linode and DigitalOcean don't use VMware.
You don't know if the first one will perform better or not. It depends on the workload of each VM. If most of the VMs are idle most of the time, when one of them needs CPU the second setup may even perform better.
And I doubt that Linode runs more VMs per host than DO. Judging by the pricing is probably the other way around.
No. Just because you get 8 vCPU on Linode does not mean you have 4x the CPU. You share those 8 vCPU with dozens or hundreds of other servers (depending on VM size). More small slices of a pie that is the same size, is not really more.