[Mingw-msys] Poor executiion speeds using -mno-cygwin g77 option

I originally sent this to the cygwin mailing list and was told that it
is more appropriate for the minw32 mailing list.
I am experiencing significantly longer exection speeds when compiling
with g77 under cygwin using the -mno-cygwin option.
I primarily work and develop under Linux. However, I need to provide a
user with an executable (of a Fortran program) that runs under windows.
I initially performed some timing comparisions of the code for a simple
problem under Linux and then under Cygwin with the code compiled with
-mno-cygwin. The same machine was used for all timing comparisions
(i.e., it was a dual boot machine). Case A is under Linux (RH 7.3, g77
2.96). Case B is under Win2k (Cygwin 1.5.7, g77 3.3.1 using
-mno-cygwin). Case C is the same as Case B execept without using the
-mno-cygwin flag. Case D is under Win2k and compiled with Digital
Fortran. Several executions were performed to get representative
times. Furthermore, these times represent a section of the code where
nothing but calculations are being performed, the code do not do any I/O
within the section that was timed. I also tried compiling just under a
mingw32 environment and got results similar to Case B.
Case A: 28.9 sec (Linux)
Case B: 95.0 sec (Cygwin g77 -mno-cygwin)
Case C: 41.0 sec (Cygwin g77)
Case D: 31.1 sec (Digital Fortan)
Both Cases B and C were repeated from running within the Cygwin
environment and from just a standard command prompt shell (so Cygwin was
not involved except the the cygwin1.dll in the case of C) Even though
Case C, when the -mno-cygwin flag is not used, the difference is still
significant. compared to Case A. I would like to get execution
performance comparable to Cases A and D from the code when compiled
using Cygwin with -mno-cygwin. And Case D is not a route that I can use
at this time for several reasons. Does anyone know why there is such a
performance difference with Cygwin and with the -mno-cygwin option. Is
this a Cygwin problem, or g77 problem or something else. I don't recall
experiencing such differences several years ago when doing the same thing.
Several thousand executions of this code are going to performed, so on
larger problems the speed difference will become an issue.

Thread view

I originally sent this to the cygwin mailing list and was told that it
is more appropriate for the minw32 mailing list.
I am experiencing significantly longer exection speeds when compiling
with g77 under cygwin using the -mno-cygwin option.
I primarily work and develop under Linux. However, I need to provide a
user with an executable (of a Fortran program) that runs under windows.
I initially performed some timing comparisions of the code for a simple
problem under Linux and then under Cygwin with the code compiled with
-mno-cygwin. The same machine was used for all timing comparisions
(i.e., it was a dual boot machine). Case A is under Linux (RH 7.3, g77
2.96). Case B is under Win2k (Cygwin 1.5.7, g77 3.3.1 using
-mno-cygwin). Case C is the same as Case B execept without using the
-mno-cygwin flag. Case D is under Win2k and compiled with Digital
Fortran. Several executions were performed to get representative
times. Furthermore, these times represent a section of the code where
nothing but calculations are being performed, the code do not do any I/O
within the section that was timed. I also tried compiling just under a
mingw32 environment and got results similar to Case B.
Case A: 28.9 sec (Linux)
Case B: 95.0 sec (Cygwin g77 -mno-cygwin)
Case C: 41.0 sec (Cygwin g77)
Case D: 31.1 sec (Digital Fortan)
Both Cases B and C were repeated from running within the Cygwin
environment and from just a standard command prompt shell (so Cygwin was
not involved except the the cygwin1.dll in the case of C) Even though
Case C, when the -mno-cygwin flag is not used, the difference is still
significant. compared to Case A. I would like to get execution
performance comparable to Cases A and D from the code when compiled
using Cygwin with -mno-cygwin. And Case D is not a route that I can use
at this time for several reasons. Does anyone know why there is such a
performance difference with Cygwin and with the -mno-cygwin option. Is
this a Cygwin problem, or g77 problem or something else. I don't recall
experiencing such differences several years ago when doing the same thing.
Several thousand executions of this code are going to performed, so on
larger problems the speed difference will become an issue.