Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Thu, 28 Nov 2002 15:07:40 +0100 From: thomas Reply-To: thomas X-Priority: 3 (Normal) Message-ID: <1988826218.20021128150740@huno.net> To: thomas Subject: Re: pipe performance problem In-Reply-To: <6654089625.20021128033745@huno.net> References: <777770015 DOT 20021122040845 AT huno DOT net> <007301c291ff$eb9ce050$78d96f83 AT pomello> <21545718 DOT 20021122114035 AT huno DOT net> <12415481703 DOT 20021122220059 AT huno DOT net> <20021122210856 DOT GA10679 AT redhat DOT com> <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20021122143402 DOT 00fdc148 AT pop3 DOT cris DOT com> <10824453046 DOT 20021123003030 AT huno DOT net> <14936170000 DOT 20021127223905 AT huno DOT net> <20021127233624 DOT GK17798 AT redhat DOT com> <1245871093 DOT 20021128012046 AT huno DOT net> <20021128003443 DOT GD21457 AT redhat DOT com> <5549457171 DOT 20021128022032 AT huno DOT net> <6654089625 DOT 20021128033745 AT huno DOT net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Ok now i really found the problem. If i always return from fhandler_base::ready_for_read with 1 at the first line and skip all the checks in there everything works. $ time cat test.iso | nice -0 dd of=/dev/null 352512+0 records in 352512+0 records out real 0m5.528s user 0m2.155s sys 0m3.342s $ time cat test.iso | nice --1 dd of=/dev/null 352512+0 records in 352512+0 records out real 0m4.188s user 0m1.592s sys 0m2.452s nice --1 is faster like it should be. Just to be on the safe side i also did: $ cat test.iso | nice --1 dd of=test1 $ cat test.iso | nice -0 dd of=test0 $ diff -q -s --binary test0 test1 Files test0 and test1 are identical $ diff -q -s --binary test0 test.iso Files test0 and test.iso are identical So that workaround works perfectly for my purposes. But i guess the checks were put in there for good reason to fix sth. that happened on the way. Just that it broke sth. else. I already did some mkisofs | cdrecord checks and it also works perfectly! thomas -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/