aaronspink
Veteran
What was the source for the chart? I ask because the PCIe gen 2 had a lot of command overhead (like 20% of the bandwidth or something) and that was reduced with PCIe gen 3. In fact, I believe a significant part of the performance gain for PCIe gen 3 was the improvements in reducing command overhead. (PCIe gen 2 command rate is 5 GT/s vs. 8 GT/s for PCIe gen 3, so the rate did not double on gen 3 vs. gen 2.)
Gotta be careful in what you are comparing. You are switching between link bandwidths and payload bandwidths which aren't at all comparable between gen 2/3. Gen 2 used 8b/10b encoding which meant that 5GT/s was really 4GB/s. Gen 3 uses 128b/130b link encoding which means for all practical purposes GT/s=GB/s.
To put this in perspective, the peak bandwidth I recall seeing on PCIe gen 2 was around 6.2 GB/s for a single directional transfer, compared to 12.8 GB/s on PCIe gen 3. We have done some testing with bidirectional transfers, too, achieving around 20 GB/s. That result wasn't confirmed on other platforms, however, as it was mainly proof-of-concept.
Some of the differentials between PCI-2 and PCI-3 in sustained bandwidth are due to improvements in the actual controllers at both ends being able to send and receive at higher rates. This is mostly buffering/etc. Also bandwidth delivered with PCI-e is also largely dependent on transfer sizes.