A thorough investigation of FPGA performance for PCIe Gen3 communication