The author compares the measured performance of pipes implemented by a pipe server process on top of the V message passing transport protocol versus the calculated performance of pipes implemented by an operating system kernel and supported by a dedicated protocol. He describes the implementation of pipes in the V system and presents measurements of their performance. He then calculates the performance of pipes when implemented in the kernel and supported by a dedicated protocol. The performance loss as a result of using the pipe server is shown to be about 8% for network pipes and about 25% for local pipes. Given these figures and given the fact that messages and not pipes are the principal means of interprocess communication in V, it is concluded that it is quite practical to implement pipes by a process using message passing, thereby avoiding the need for additional kernel and protocol complexity.