public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "Joost.VandeVondele at mat dot ethz.ch" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/40958] module files too large
Date: Mon, 28 Nov 2011 14:37:00 -0000	[thread overview]
Message-ID: <bug-40958-4-CyWe9HV3AD@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-40958-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40958

--- Comment #4 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> 2011-11-28 14:24:02 UTC ---
Just for reference, compiling CP2K_2009-05-01.f90 results in 684 modules,
stracing yields something like 12000 calls to open, and 148'847'399 calls to
lseek.

Clearly anything reducing the number of seeks is likely to have a good impact
on compile time.

For this particular case, caching modules would help a lot as well. However,
our usual pattern is to have a single module per file, and all use statements
at the top of the module. Caching would be of little help for this style. An
efficient encoding of the information in the module would help.

The idea of writing the module compressed, and decompressing it as a big string
to memory for reading and parsing, seems appealing to me.

Concerning a change of format, it would be important to keep one of gfortran's
nice features, that is, the ability to use the modification time of the .mod
files to avoid recompilation cascades. If .mod files would contain a reference
to other .mod files (instead of containing the info directly), this property
might be at risk.


  parent reply	other threads:[~2011-11-28 14:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-40958-4@http.gcc.gnu.org/bugzilla/>
2011-11-25 19:24 ` Joost.VandeVondele at mat dot ethz.ch
2011-11-28 14:37 ` Joost.VandeVondele at mat dot ethz.ch [this message]
2011-11-28 17:58 ` Joost.VandeVondele at mat dot ethz.ch
2011-11-29 18:59 ` tkoenig at gcc dot gnu.org
2013-03-29 10:17 ` Joost.VandeVondele at mat dot ethz.ch
2013-04-09 18:35 ` jb at gcc dot gnu.org
2013-04-17 13:51 ` burnus at gcc dot gnu.org
2013-04-17 19:36 ` Joost.VandeVondele at mat dot ethz.ch
2013-06-22 13:38 ` dominiq at lps dot ens.fr
2013-06-22 19:45 ` jb at gcc dot gnu.org
2013-06-24  6:53 ` Joost.VandeVondele at mat dot ethz.ch
2013-06-25  9:33 ` dominiq at lps dot ens.fr
2013-06-25 18:06 ` anlauf at gmx dot de
2014-04-09  8:28 ` dominiq at lps dot ens.fr
2015-06-05 16:55 ` kargl at gcc dot gnu.org
2015-06-05 20:41 ` kargl at gcc dot gnu.org
2015-08-08 20:23 ` fxcoudert at gcc dot gnu.org
2009-08-04  9:02 [Bug fortran/40958] New: " jv244 at cam dot ac dot uk
2009-08-04  9:10 ` [Bug fortran/40958] " steven at gcc dot gnu dot org
2009-08-04 10:13 ` jv244 at cam dot ac dot uk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-40958-4-CyWe9HV3AD@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).