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 To: "cygwin AT cygwin DOT com" Subject: Re: higher-level IO very slow with cygwin1.dll 5.10 (due to set_flags?) From: Joseph Content-Type: text/plain; format=flowed; charset=iso-8859-1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Date: Sat, 26 Jun 2004 02:36:52 -0400 Message-ID: User-Agent: Opera7.23/Win32 M2 build 3227 Thanks to those who responded to my post. I am not sure though if all of you read the entire sequence of the thread. In my first post, I did attach an excerpt from an strace dump of a sample program that seemed to show "where the time is going". Here is the relevant information again in case it was missed the first time (showing longest operations in the strace dump): 171674 127276583 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 158323 5071628 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 144645 74466322 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 133088 111148059 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 118305 4774629 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 115336 6690357 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 114418 79036229 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 113172 69211692 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 112608 6888268 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 108520 47854275 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 107589 6137061 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 106538 69397028 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 106369 1959755 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 100002 67943460 [main] test1 613445 fhandler_base::set_flags: flags 0x110000, supplied_bin 0x0 99220 64838744 [main] test1 613445 setmode_helper: improbable, but 2 != 3 96976 110763753 [main] test1 613445 setmode_helper: improbable, but 0 != 3 The program I am tracing simply opens a large file (about 7 MB) with fopen and then reads characters from it with getc, and does nothing else. It takes about 10-20 times longer than a program which opens the same file with open and reads it with read. In the strace of this faster program, the time is dominated by calls to readv. In my original post I also included the output of cygcheck on my system. Please advise if I should post this again. Also if it would help to see the lines in the strace dump in context, as opposed to sorted by duration of each operation, I could post that. Based on the instructions listed at the problems.html webpage on the Cygwin site, I thought this was sufficient information to begin a request for assistance. I do not really understand what you are advising me to do beyond this when you say I should "debug cygwin". I sure would appreciate some guidance in how to do this. Possibly I should add that I am comparing the behavior of version 1.5.10 to a much older version that I was using before. So whatever is causing this odd behavior on my system may not be a feature that was new to version 1.5.10. I am thinking somehow that it might in fact have something to do with how mounts are handled differently in more recent versions. Previously I did not have to mount any directories, now though I am having trouble finding any set of mount commands that will allow me to open files in text mode by default, which was how the earlier version of cygwin I had worked. Nor does setting the CYGWIN environment variable to nobinmode seem to have any effect. Thanks again for any help -- 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/