I'm trying to pipe extremely high speed data from one application to another using 64-bit [CentOS](http://en.wikipedia.org/wiki/CentOS)6. I have done the following benchmarks using `dd` to discover that the pipes are holding me back and not the algorithm in my program. My goal is to achieve somewhere around 1.5 GB/s. First, without pipes: dd if=/dev/zero of=/dev/null bs=8M count=1000 1000+0 records in 1000+0 records out 8388608000 bytes (8.4 GB) copied, 0.41925 s, 20.0 GB/s Next, a pipe between two dd processes: dd if=/dev/zero bs=8M count=1000 | dd of=/dev/null bs=8M 1000+0 records in 1000+0 records out 8388608000 bytes (8.4 GB) copied, 9.39205 s, 893 MB/s Are there any tweaks I can make to the kernel or anything else that will improve performance of running data through a pipe? I have tried named pipes as well, and gotten similar results.