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 Message-ID: <4298F541.1000206@familiehaase.de> Date: Sun, 29 May 2005 00:48:33 +0200 From: "Gerrit P. Haase" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.8) Gecko/20050511 MIME-Version: 1.0 To: cygwin AT cygwin DOT com CC: Andy Ross Subject: Re: Serious performance problems (malloc related?) References: <4297A14B DOT 9070409 AT plausible DOT org> <20050527234027 DOT GA7522 AT trixie DOT casa DOT cgf DOT cx> <4297B572 DOT 9050200 AT plausible DOT org> <20050528005054 DOT GB7522 AT trixie DOT casa DOT cgf DOT cx> <4297F984 DOT 3000800 AT plausible DOT org> <20050528061001 DOT GA9254 AT trixie DOT casa DOT cgf DOT cx> <42987F19 DOT 8070502 AT plausible DOT org> <4298D87F DOT 9030203 AT familiehaase DOT de> <20050528225007 DOT U63183 AT logout DOT sh DOT cvut DOT cz> In-Reply-To: <20050528225007.U63183@logout.sh.cvut.cz> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Vaclav Haisman wrote: > On Sat, 28 May 2005, Gerrit P. Haase wrote: > > >>Andy Ross wrote: >> >>>But as I noted in my original post: It's not waiting on the disk >>>reads. Comment out the split() call and watch the delays disappear. >>>Raw I/O speed in cygwin is comparable to mingw or MSVC. The overhead >>>is due, somehow, to activity within/under split(). Other than >>>allocation, that function doesn't do any meaningful library >>>interaction that I can see (although Vaclav's suggestion about >>>exception handling is a very good one...). >> >>Can you port the testcase you provided to C to see if it makes a >>difference, please? > > > Or maybe at least try -fno-exceptions... This speeds up things about 20% for me: $ g++ -fno-exceptions -c cygspd.cc -o cygspd.o $ g++ -fno-exceptions -o cygspd cygspd.o $ time ./cygspd cygspd.dat real 0m39.892s user 0m38.405s sys 0m0.155s instead of compiling without the flag: $ time ./cygspd cygspd.dat real 0m51.071s user 0m50.108s sys 0m0.046s Using optimization speeds up things again: $ g++ -fno-exceptions -O7 -c cygspd.cc -o cygspd.o $ g++ -fno-exceptions -o cygspd cygspd.o $ time ./cygspd cygspd.dat real 0m28.024s user 0m27.030s sys 0m0.061s Gerrit -- =^..^= -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/