delorie.com/archives/browse.cgi | search |
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/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |