During some targeted testing which involved pcaps containing only a single TCP connection, I found that tcpreplay invariably generated the second packet pretty much immediately after the first, regardless of how much time difference there was between it and the first packet.
Tcpreplay seems to do a pretty good job of honoring the time deltas for the rest of the capture.
Setup info
FreeBSD 10.3-RELEASE amd64
Ethernet Converged Network Adapter X520-SR2
tcpreplay version: 4.2.6 (build git:)
Cache file supported: 04
Compiled against libdnet: 1.12
Compiled against libpcap: 1.4.0
64 bit packet counters: enabled
Verbose printing via tcpdump: enabled
Packet editing: disabled
Fragroute engine: enabled
Default injection method: bpf send()
Optional injection method: netmap
Reproduction info
Seems to reproduce regardless of whether or not I use the netmap drivers, and whether I use the system's 1Gb motherboard port or the Intel 10Gb nic.
Example:
sudo tcpreplay -i ix0 --netmap