luigirizzo / netmap

Automatically exported from code.google.com/p/netmap
BSD 2-Clause "Simplified" License
1.85k stars 534 forks source link

Question - Native vs Emulated performance #966

Open jkasten2 opened 2 weeks ago

jkasten2 commented 2 weeks ago

It's noted that native Netmap drivers are more performant than an Emulated driver, however I haven't been able to find details quantifying the differences.

  1. What kind of performance gains? A. More pps (packets per second) B. Less CPU usage C. Lower latency
  2. Improved by what percentage? (in the kinds of performance listed above) A. In general, what ballpark? 10%, 100%, 1,000%? B. Some specific examples? Such as, pps increase with a specific NIC on a specific CPU
vmaffione commented 1 week ago

Both A, B and C. The speedup depends on the variables (CPU speed, number of CPUs, memory speed, NIC speed, packet size, batch size), and there isn't a study about that. I would say, at 64 bytes packet size and 1 CPU, for 1Gbps NICs the pps is almost the same because the CPU can cope with the rate. At 10 Gbps could be 500%.

You should just make your own test on the platform and configuration you need.