From owner-cvs-sys Sat Jul 13 17:06:55 1996 Return-Path: owner-cvs-sys Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id RAA06649 for cvs-sys-outgoing; Sat, 13 Jul 1996 17:06:55 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id RAA06619; Sat, 13 Jul 1996 17:06:45 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id KAA05845; Sun, 14 Jul 1996 10:02:34 +1000 Date: Sun, 14 Jul 1996 10:02:34 +1000 From: Bruce Evans Message-Id: <199607140002.KAA05845@godzilla.zeta.org.au> To: CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-sys@freefall.freebsd.org, dyson@freefall.freebsd.org Subject: Re: cvs commit: src/sys/sys pipe.h src/sys/kern sys_pipe.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > Modified: sys/sys pipe.h > sys/kern sys_pipe.c > Log: > A few minor mods (improvements) to support more efficient pipe > operations for large transfers. There are essentially no differences > for small transfers, but big transfers should perform about 20% > better. I'd like to win pipe latency benchmarks too :-). The overhead seems to be mostly in vfs: dd if=/dev/zero of=/dev/null bs=1 count=1000000 takes 1.77user + 4.98system on a P90 running Linux-1.2.13 and 2.84user + 42.20system on a P133 running FreeBSD-current. Our /dev/zero is a bit slow. Reading and writing a byte at a time through a nameless pipe is about twice as fast as this (50K/sec instead of 22 on a P133). I/O's to pipes need to be about 2K large before the transaction overheads become larger than the memory overheads. I'd also like to win the `ctm cvs-cur.2229.gz' benchmark. This is incredibly slow on non-async mounted file systems. More tinygram benchmarks: mkfifo p; dd if=/dev/zero of=p bs=1000000 count=1 & \ time dd if=p of=/dev/null bs=1 L: 1.72user + 24.87system F: 4.95user + 39.86system Neither system is very good here. dd if=/dev/zero of=/dev/ttypf bs=1000000 count=1 & \ time dd if=/dev/ptypf of=/dev/null bs=1 L: 1.89user + 8.70system F: 2.33user + 16.64system Bruce