Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Nov 2008 05:13:09 +1100
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        rihad <rihad@mail.ru>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Asynchronous pipe I/O
Message-ID:  <20081105181309.GB51239@server.vk2pj.dyndns.org>
In-Reply-To: <4911A23B.7050104@mail.ru>
References:  <4911A23B.7050104@mail.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

--H1spWtNR+x+ondvy
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On 2008-Nov-05 17:40:11 +0400, rihad <rihad@mail.ru> wrote:
>Imagine this shell pipeline:
>
>sh prog1 | sh prog2
>
>
>As given above, prog1 blocks if prog2 hasn't yet read previously written
>data (actually, newline separated commands) or is busy. What I want is
>for prog1 to never block:
>
>sh prog1 | buffer | sh prog2

There's also misc/mbuffer which is supposed to be an enhancement of
misc/buffer - though I haven't used either.  I have a program I wrote
to do this but it's not in a releasable state.

>Wouldn't such an intermediary tool be a great way to boost performance
>for certain types of solutions?

I've found that for dump|restore or dump|gzip, I can get quite significant
speedups by adding a buffer that is several hundred MB in the middle.

--=20
Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.

--H1spWtNR+x+ondvy
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAkkR4jUACgkQ/opHv/APuId41ACfagHvmVdaJpqFJgbehUiudfTb
HewAn1OqR5EoTgFpiJnaoTWJqvz+pkbR
=5DA6
-----END PGP SIGNATURE-----

--H1spWtNR+x+ondvy--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081105181309.GB51239>