I also experience the same sort of problem with quite slow compilation
using CVF 6.6. In my case the main program is less than 1000 lines long
and USEs many modules and many of those modules use many modules etc.
The modules are not INCLUDEd in the main program.
Compilation of the main program takes several minutes on a Pentium 1V
1.8 GHz running Windows 2000. None of the modules is being compiled.
Just the main program.
I am disinclined to USE ONLY because one has to manually maintain a list
of the entities used. Rather I make everything in a my modules PRIVATE
and explicitly make PUBLIC only those entities I want to have accessible
outside the module.
David.
Alvaro Fernandez wrote:
>
> Depends, I guess. Some environments create a makefile and then process
> it, and you can view it if you know where to look. Don't know if CVF is
> one of them... He should at least ask the vendor how the dependencies
> are handled. Maybe the compiler is creating a bad makefile, or at least
> a naïve one.
> If the changes aren't down "in the boiler room", a properly set up list
> of dependencies should avoid a cascade.
>
> Is it just me, or does it sound like the poster continually (?) has to
> change things at the bottom level of the USE hierarchy? How come?
> Perhaps a sketch of the code organization would help...
>
> Alvaro
>
> PS If there is no makefile being created, perhaps he may try to install
> cygwin and try GNUmake with a properly set-up makefile?
>
> A.F.
>
> -----Original Message-----
> From: Fortran 90 List [mailto:[log in to unmask]] On Behalf
> Of Peter Shenkin
> Sent: Tuesday, November 12, 2002 10:27 AM
> To: [log in to unmask]
> Subject: Re: Slow compilation! (reply to Peter Shenkin)
>
> Hi,
>
> Though if he's using CVF from the IDE, there's unlikely to be
> an explicit Makefile....
>
> -P.
>
> On Tue, 12 Nov 2002, 9:49am -0600, [log in to unmask] wrote:
>
> > There's also the matter of the makefile being employed. Perhaps you
> > could post it? There's more than one way to handle module dependencies
> > in the make syntax.
> >
> > Alvaro
> >
> >
> > -----Original Message-----
> > From: Fortran 90 List [mailto:[log in to unmask]] On
> Behalf
> > Of Peter Shenkin
> > Sent: Tuesday, November 12, 2002 9:09 AM
> > To: [log in to unmask]
> > Subject: Re: Slow compilation! (reply to Peter Shenkin)
> >
> > Hi,
> >
> > Sorry to belabor the issue but... is it really only the 450
> > lines that are being recompiled, or is there really a
> > "cascade" effect, where before compiling those 450 lines, all
> > the modules have to be recompiled?
> >
> > That is, are you quite sure that it is really taking all that
> > time to compile just those 450 lines, or is the attempt to
> > compile those 450 lines requiring lots of other stuff to be
> > compiled?
> >
> > -P.
> >
> > On Tue, 12 Nov 2002, 3:09pm +0100, [log in to unmask] wrote:
> >
> > > The compile time doesn't seem to vary very much from optmized to
> debug
> > > version. The compiler i'm refering to is CVF version 6.6B. The 450
> > lines of
> > > code contains a number of USE statements within a PROGRAM unit. Hope
> > this
> > > makes it a little bit clearer. Thanks for your reply!
> > >
> > > Magne
> > >
> > > ----- Original Message -----
> > > From: "Peter Shenkin" <[log in to unmask]>
> > > To: <[log in to unmask]>
> > > Sent: Tuesday, November 12, 2002 2:48 PM
> > > Subject: Re: Slow compilation!
> > >
> > >
> > > > By the way, Magne, are you compiling an Optimized or a Debugging
> > version?
> > > > Does it make a difference?
> > > >
> > > > Also, you referred to "cascade compilation". I usually understand
> > > > this to mean that when you recompile one file containing a MODULE,
> > > > all the others that USE the MODULE need to be recompiled. Is this
> > > > what you mean? Does the 450 lines of code you refer to include
> the
> > > > MODULEs, or is this just the code that USEs the modules?
> > > >
> > > > -P.
> > > >
> > > > On Tue, 12 Nov 2002, 8:15am -0500, [log in to unmask] wrote:
> > > >
> > > > > You don't mention which compiler you're currently using. We
> > also
> > > > > have a large project comprising hundreds of units (files),
> > thousands of
> > > > > procedures, about 100K lines of code and a fairly complex
> > hierarchy of
> > > > > derived data types and modules. Of the four compilers we've
> tried
> > only
> > > > > one has consistently been able to completely build our program:
> > > > > Lahey/Fujitsu LF95. One of the compilers required 1.8 GBytes of
> > memory
> > > > > to compile one file, albeit a long one containing a long list of
> > use
> > > > > statements. The Lahey/Fujitsu compiler compiled this without any
> > problem
> > > > > and without allocating a large amount of memory. BUT, we've
> found
> > no
> > > > > compiler compiles particularly faster than the others and have
> > seen
> > > > > phenomena similar to the one you describe: individual
> subroutines
> > or
> > > > > functions compile very quickly; modules with many use statements
> > take a
> > > > > long time. For example, it takes the Lahey compiler almost two
> > minutes
> > > > > to compile the aforementioned file, and it takes well over ten
> > minutes
> > > > > for us to build our entire program. This is on a single
> processor
> > AMD
> > > > > 2200+ (1.8 GHz) computer with Windows 2000 Pro, S.P. 2
> installed.
> > > > >
> > > > > Norman S. Clerman
> > > > > Opcon Associates, Inc.
> > > > > www.opconassociates.com
> > > > > [log in to unmask]
> > > > >
> > > > >
> > > > > Magne Rudshaug wrote:
> > > > >
> > > > > > Hi list members!
> > > > > >
> > > > > > I'm working on a fairly large F90 project . This has proved to
> > be a
> > > > > > though challenge mainly due to two factors:
> > > > > >
> > > > > > 1) Cascade compliation due to USE
> > > > > > 2) Slow compilation and excessive memory due to USE.
> > > > > >
> > > > > > The first issue is well known and I only wonder if there is a
> > good
> > > > > > solution available for this problem? The second problem has
> not
> > been
> > > > > > focused very much to my knowledge. However, this is a real
> > problem in
> > > > > > practical use of the compiler. As an example my compiler use
> > about 45
> > > > > > sec compiling the main program of my project. This file
> consists
> > of a
> > > > > > mere 450 lines of code. I use ONLY clauses with my USE
> > statements to
> > > > > > reduce compile times. During compilation I also notice that
> the
> > > > > > compiler use roughly 700MB to compile this file. You might
> > wonder if I
> > > > > > use a slow PC, but that is not the case. I'm using a 1.7GHz
> dual
> > > > > > processor Windows 2000 machine. Even on this machine I think
> the
> > > > > > compiler I use is too slow for practical F90 work on the scale
> > of my
> > > > > > project. Compiling the files without USE is lightning fast
> > compared to
> > > > > > the files containing USE. Why does this USE business put such
> a
> > huge
> > > > > > penalty on the compilation time? Is there some problem with
> the
> > > > > > algorithm used with this particular compiler? Does anyone have
> > > > > > experience with the performace of different compilers with
> > repect to
> > > > > > these issues?
> > > > > >
> > > > > > I would be very greatful for a comment on these problems. And
> I
> > thank
> > > > > > you in advance for any reply!
> > > > > >
> > > > > > Magne Rudshaug
> > > > >
> > > >
> > > > --
> > > > Peter S. Shenkin Schrodinger, Inc.
> > > > VP, Software Development 120 W. 45th St.
> > > > 646 366 9555 x111 Tel New York, NY 10036
> > > > 646 366 9550 FAX [log in to unmask]
> > > > http://www.schrodinger.com
> > > > Pre-arranged conf. calls: 702-759-8420 or 888-867-7084; passcode
> > 646-366
> > > >
> > >
> >
> > --
> > Peter S. Shenkin Schrodinger, Inc.
> > VP, Software Development 120 W. 45th St.
> > 646 366 9555 x111 Tel New York, NY 10036
> > 646 366 9550 FAX [log in to unmask]
> > http://www.schrodinger.com
> > Pre-arranged conf. calls: 702-759-8420 or 888-867-7084; passcode
> > 646-366
> >
>
> --
> Peter S. Shenkin Schrodinger, Inc.
> VP, Software Development 120 W. 45th St.
> 646 366 9555 x111 Tel New York, NY 10036
> 646 366 9550 FAX [log in to unmask]
> http://www.schrodinger.com
> Pre-arranged conf. calls: 702-759-8420 or 888-867-7084; passcode
> 646-366
|