Deutsch   English   Français   Italiano  
<vh0chn$1oq8f$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Lynn McGuire <lynnmcguire5@gmail.com>
Newsgroups: comp.lang.fortran
Subject: Re: in gfortran, is it faster compile times with *.mod files ?
Date: Tue, 12 Nov 2024 14:07:16 -0600
Organization: A noiseless patient Spider
Lines: 58
Message-ID: <vh0chn$1oq8f$1@dont-email.me>
References: <vgtt3v$169sh$1@dont-email.me> <vgturv$16fp9$1@dont-email.me>
 <vgu2rb$16rop$2@dont-email.me> <vgv213$1g931$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 12 Nov 2024 21:07:19 +0100 (CET)
Injection-Info: dont-email.me; posting-host="e65e33b4f0c03cfa18bf3263781018f9";
	logging-data="1861903"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19EWI4Fb7V4rlCwnAr1j7+FX+JyT2dHBvU="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:D/5wwNn5MytJv7bMbcT/6yTZEX8=
In-Reply-To: <vgv213$1g931$1@dont-email.me>
Content-Language: en-US
Bytes: 3464

On 11/12/2024 2:01 AM, Thomas Koenig wrote:
> Lynn McGuire <lynnmcguire5@gmail.com> schrieb:
>> On 11/11/2024 4:01 PM, Thomas Koenig wrote:
>>> Lynn McGuire <lynnmcguire5@gmail.com> schrieb:
>>>> In gfortran, is it faster compile times with *.mod files ?  Or is it
>>>> just as fast compiling to include the module interface information in
>>>> each subroutine / function file ?
>>>
>>> I haven't benchmarked this, but I think likely that there would only
>>> be a small difference.  Usually, the front end only takes a small part of
>>> compilation time (but there are pathological cases).
>>>
>>> In general, modules are better because of automatic checking.
>>> If you want to avoid recompilation cascades, submodules (where
>>> you can separate the definition from the implementation) might
>>> be worth looking into.
>>>
>>>> Is there any chance that gfortran will automatically generate and use
>>>> module files in the future like IVF ?
>>>
>>> Not sure what you're asking for.  Can you give an example?
>>
>> 1. you compile abc.f in IVF
>> 2. IVF automagically creates an abc__genmod.f90 file in your release
>> subdirectory with the subroutine / function module interface in it
> 
> I think I get the general gist (but it would help me understand
> if you could post a complete example).
> 
> But gfortran currently does not have such a feature (which appears
> to duplicate modules).  It is also not immediately clear what should
> happen if, for example, a procedure uses a derived type from another
> module... (This may not be relevant to your case, but as a compiler
> writer, you have to think about this kind of thing :-|)
> 
> What would go wrong if you simply encapsulated abc.f in
> 
>        MODULE ABC
>        CONTAINS
> C  Your code here
>        END MODULE ABC
> 
> ?

I am not sure what that would get me.  I have 6,000+ subroutines and 
functions in 5,000+ files.  And I would still have to modify each file.

I am going to write a C++ program to put a USE statement in each 
subroutine / function with the name of the subroutine / function to be 
excluded.  It should not take me more than a day or three.

I scanned through the Fortran Language doc but it did not have a USE 
case for this.
    https://j3-fortran.org/doc/year/24/24-007.pdf

Thanks,
Lynn McGuire