This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Serious performance problems (malloc related?)


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]