unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: ludovic.courtes@laas.fr (Ludovic Courtès)
To: guile-devel@gnu.org
Subject: Re: Evolution & optimization of the module system
Date: Fri, 23 Feb 2007 14:15:44 +0100	[thread overview]
Message-ID: <87lkipovzz.fsf@laas.fr> (raw)
In-Reply-To: <87bqjl25nk.fsf@zip.com.au> (Kevin Ryde's message of "Fri, 23 Feb 2007 09:23:27 +1100")

Hi,

Kevin Ryde <user42@zip.com.au> writes:

> ludovic.courtes@laas.fr (Ludovic Courtès) writes:
>>
>> The measurements in the `module-duplicates.scm' file I posted choose
>> USES = 10000 by default, which is arguably unrealistic.
>
> Was that 10000 imported modules?  That's well outside the realm of
> reason! :)

Right.  :-)

> Normally there'll be perhaps up to 20 imports, so there
> should be no call to change unless that sort of quantity is hurting
> badly (which I would say I've never noticed it doing).

Well it _does_ hurt, even with real-life numbers of imports, as the
experiments I made tend to show (I'm talking about the measurements made
on real applications, not the synthetic evaluation in
`module-duplicates.scm').  I really encourage everyone to apply the
patch and make timing measurements on their own applications, so that we
get better insight about the benefits of the changes.

Alternatively, we could start thinking about the module system "from
scratch".  From a performance viewpoint, the question is: how can we
provide the fastest variable lookup and duplicate binding detection,
i.e., using what data structures and algorithms?

Hopefully it is now clear that improvements can be made over the current
implementation in these respects.  Then, how?


I'm not sure other interpreters provide such sophisticated module
systems.  SLIB's `require' is much simpler for instance, and SCSH (or is
it Scheme48?) doesn't seem to address duplicate binding detection
according to the "Module Warning" note in Section 11.1.3 of the manual
for version 0.6.7.

Thanks,
Ludovic.


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


  reply	other threads:[~2007-02-23 13:15 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-17 15:15 Evolution & optimization of the module system Ludovic Courtès
2007-02-18 23:32 ` Kevin Ryde
2007-02-19  9:24   ` Ludovic Courtès
2007-02-21 22:21     ` Kevin Ryde
2007-02-22  9:20       ` Ludovic Courtès
2007-02-22 22:23         ` Kevin Ryde
2007-02-23 13:15           ` Ludovic Courtès [this message]
2007-02-25 23:37             ` Kevin Ryde
2007-02-26 21:15               ` Ludovic Courtès
2007-02-26 22:46                 ` Kevin Ryde
2007-02-27  8:21                   ` Ludovic Courtès
2007-04-08 23:06               ` Ludovic Courtès
2007-04-08 23:25                 ` Ludovic Courtès
2007-04-08 23:24               ` Ludovic Courtès
2007-04-30  8:39                 ` Ludovic Courtès
2007-05-05 20:48                   ` Ludovic Courtès
2010-07-20 21:20                     ` Andy Wingo
2010-07-20 22:24                       ` Ludovic Courtès

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

  List information: https://www.gnu.org/software/guile/

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

  git send-email \
    --in-reply-to=87lkipovzz.fsf@laas.fr \
    --to=ludovic.courtes@laas.fr \
    --cc=guile-devel@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).