Date: Sun, 14 Jul 1996 10:02:34 +1000 From: Bruce Evans <bde@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 Message-ID: <199607140002.KAA05845@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607140002.KAA05845>
