
Hello, I recently conducted a test to compare the CPU performance of a physical machine, a high performance VM (pass-through CPU, PIN CPU), and a common VM. Here are the results: 1. Physical machine: # sysbench --test=cpu --cpu-max-prime=100000000 --threads=2 run WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options. sysbench 1.0.17 (using system LuaJIT 2.0.4) Running the test with following options: Number of threads: 2 Initializing random number generator from current time Prime numbers limit: 100000000 Initializing worker threads... Threads started! CPU speed: events per second: 0.01 General statistics: total time: 346.0588s total number of events: 2 Latency (ms): min: 345943.52 avg: 346001.09 max: 346058.65 95th percentile: 100000.00 sum: 692002.17 Threads fairness: events (avg/stddev): 1.0000/0.00 execution time (avg/stddev): 346.0011/0.06 2. High Performance VM: # sysbench --test=cpu --cpu-max-prime=100000000 --threads=2 run WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options. sysbench 1.0.17 (using system LuaJIT 2.0.4) Running the test with following options: Number of threads: 2 Initializing random number generator from current time Prime numbers limit: 100000000 Initializing worker threads... Threads started! CPU speed: events per second: 0.01 General statistics: total time: 351.8625s total number of events: 2 Latency (ms): min: 351416.59 avg: 351639.01 max: 351861.43 95th percentile: 100000.00 sum: 703278.02 Threads fairness: events (avg/stddev): 1.0000/0.00 execution time (avg/stddev): 351.6390/0.22 3. Common VM: # sysbench --test=cpu --cpu-max-prime=100000000 --threads=2 run WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options. sysbench 1.0.17 (using system LuaJIT 2.0.4) Running the test with following options: Number of threads: 2 Initializing random number generator from current time Prime numbers limit: 100000000 Initializing worker threads... Threads started! CPU speed: events per second: 0.01 General statistics: total time: 354.9108s total number of events: 2 Latency (ms): min: 354761.26 avg: 354835.99 max: 354910.73 95th percentile: 100000.00 sum: 709671.99 Threads fairness: events (avg/stddev): 1.0000/0.00 execution time (avg/stddev): 354.8360/0.07 Result: There is little difference in CPU performance between these three scenarios, so why distinguish between high performance and regular virtual machines? I don't think it makes much sense.