This is the mail archive of the cygwin@cygwin.com 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] |
On Thu, 4 Jul 2002 00:35:21 -0400 Christopher Faylor <cgf at redhat dot com> wrote: > On Wed, Jul 03, 2002 at 11:21:27PM -0500, apjaworski@mmm.com wrote: >>Then I replaced cygwin1.dll with version 1.3.10 and rerun the test. I got >>10.7s total time and 8.7s user time. This is almost 24-fold slowdown! > >Calm down. How about if *you* do a little more analysis and find out >where the slowdown occurs? Is it in the fscanf code? Is it simple >reading from the disk? Writing to the disk? Does it go away if you >stop using floats? > >You can also use strace to find out where any slowdown occurs. Compare and >contrast it between the two versions. > >cgf > Thanks for the response. The idea of doing more analysis myself was a very good one. In fact, I was planning to do something like that - I simply rushed to report the problem first. Here is some additional info. First of all I got a couple of e-mail responses ( I do not think they appeared in this mailing list). One response reported essentially no change of speed between 1.3.10 and 1.3.12 versions of the cygwin1.dll, and the other one reported essentially the same slowdown as the one I observed. I reran my program with some additional timing. I also modified it to read and write ints instead of floats. here are the results: DLL version 1.3.12-2 floats read: 58s write: 192s (reading and writing 300,000 rows of 12 numbers) iints read: 6s write: 15s (reading and writing 1,500,000 rows of 12 numbers) DLL version 1.3.10 floats read: 3s write: 9s (reading and writing 300,000 rows of 12 numbers) iints read: 6s write: 15s (reading and writing 1,500,000 rows of 12 numbers) I also ran the strace program on my executables. Strace produces loads of output. I tried to eliminate more or less common lines in the files produced to make a reasonable comparison. However, since I am not sure what I am looking at, I cannot make any definite judgments. One thing that jumped at me was that 1.3.10 dll produces lines like, for example, environ_init: DISPLAY=:0.0 or normalize_win32_path: C:\cygwin\bin = normalize_win32_path (C: \cygwin\bin) for both int and float cases, whereas 1.3.12 produces similar lines prepended by g for the int case only. That is for the int case, the lines above look like genviron_init: DISPLAY=:0.0 gnormalize_win32_path: C:\cygwin\bin = normalize_win32_path (C: \cygwin\bin) I am not sure if this has any significance though. Finally, on thought offered buy a guy who wrote me an e-mail reporting similar slowdown. He thinks that this might have something to do with the fact that the new cygwin1.dll was compiled with gcc-3.1. My version is 2.95.3-5. Thanks again for your time. For completeness I am attaching both my codes (uu.c for floats and uu1.c for integers) along with the output of "cygcheck -s -v -r > ccc.txt". Andy (See attached file: uu.c)(See attached file: uu1.c)(See attached file: ccc.txt) __________________________________ Andy Jaworski Engineering Systems Technology Center 3M Center, 518-1-01 St. Paul, MN 55144-1000 ----- E-mail: apjaworski@mmm.com Tel: (651) 733-6092 Fax: (651) 736-3122
Attachment:
uu.c
Description: Binary data
Attachment:
uu1.c
Description: Binary data
Attachment:
ccc.txt
Description: Binary data
-- 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/
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |