Earlier quoted context omitted.
I hope figures like this make developers think twice about about throwing yet another layer of abstraction on to the pile. How many VMs does an average business actually require, assuming the software wasn't written like total ass?
It can't happen unless software buyers were ready to pay for more development time. That abstraction layer and total-ass quality is frequently the only way to meet the deadline and budget. If people were ready to pay some upfront costs, it would be possible to lower long-term costs, but that's CAPEX vs OPEX decision that is not in the hands of the software developers.
Basic profiling can often find bottlenecks that are easy to fix, usually just a result of a simple oversight.
No one is asking for every piece of software to be rewritten in Assembly whilst taking advantage of every possible algorithmic improvement.