unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Cc: guile-devel@gnu.org, Rob Browning <rlb@defaultvalue.org>
Subject: Re: GH replacement proposal (includes a bit of Unicode)
Date: Sun, 25 Apr 2004 09:54:23 +0200	[thread overview]
Message-ID: <408B6EAF.4030008@dirk-herrmanns-seiten.de> (raw)
In-Reply-To: <lj8ygmk4yb.fsf@troy.dt.e-technik.uni-dortmund.de>

Marius Vollmer wrote:

>  Rob Browning <rlb@defaultvalue.org> writes:
>
> > On a related note, in many cases, I suspect all the user may really
> > need is a cheap way to copy some offset + size chunk of the data
> > into their own buffer, especially when dealing with homogeneous
> > uint8 arrays. If so, then it might make sense to provide a set of
> > functions that can do that, handling whatever locking and memcpying
> > is needed.
>
>
>  Yes, that would be a good addition. However, I'd still want to have
>  the low-level functions (scm_lock_heap, scm_l_* etc.) available. You
>  can use them to code the more convenient variants, but it is
>  unlikely that we can provide convenience variants for all cases.

I can not understand at all, why we should introduce such a concept from 
the start: The non-locking related API allows users to do all they could 
want to do. Locking is only introduced to avoid performance problems due 
to memory allocation when extracting string contents. This early 
optimization is done at the wrong time. Before we don't even have an 
implementation without locking available, we don't know how much of a 
problem the memory allocation really is for a typical application. If it 
later appears that the real performance problem comes from the fact that 
our internal memory organization of strings is bad, we are stuck. If it 
later appears that the global locking introduces more performance 
problems than it solves, we are stuck.

Further, to really be able to rate the design of the global heap 
locking, I need more information about how it would be implemented: What 
exactly would happen at the moment one thread calls scm_lock_heap? What 
is the performance penalty for additional thread-switches due to the 
global locking? How much is it compared to the expected performance gain 
for the typical application? Which parts of guile are affected by 
introducing the global locking concept?

In general, I think the proposal is a step in the right direction. My 
suggestion is to start with the non-controversial stuff and provide 
users with an API that allows them to do everything they want, and 
postpone the performance optimization issues. As far as I see it, the 
global locking could be added later without influence on the rest of the 
API.

Best regards
Dirk Herrmann



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


  parent reply	other threads:[~2004-04-25  7:54 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-07 13:00 GH replacement proposal (includes a bit of Unicode) Marius Vollmer
2004-04-07 15:04 ` Paul Jarc
2004-04-13 13:25   ` Marius Vollmer
2004-04-13 15:54     ` Paul Jarc
2004-04-21 15:08       ` Marius Vollmer
2004-04-21 16:10         ` Paul Jarc
2004-04-21 18:06           ` Marius Vollmer
2004-04-21 16:31         ` Delivery failure (guile-devel@gnu.org) Bruce Korb
2004-04-21 21:34           ` GH replacement proposal (includes a bit of Unicode) Marius Vollmer
2004-04-21 21:46             ` Paul Jarc
2004-04-21 22:19               ` Dale P. Smith
2004-04-21 22:34                 ` Paul Jarc
2004-04-21 23:02                 ` Kevin Ryde
2004-04-22 17:36             ` Dirk Herrmann
2004-04-22 18:31               ` Paul Jarc
2004-05-17 21:14                 ` Marius Vollmer
2004-05-17 21:57                   ` Bruce Korb
2004-05-18  9:54                     ` Marius Vollmer
2004-04-22 17:00         ` Dirk Herrmann
2004-04-24 10:06         ` Dirk Herrmann
2004-04-24 19:46           ` Marius Vollmer
2004-04-25 20:33             ` Dirk Herrmann
2004-04-25 21:38             ` Paul Jarc
2004-05-17 21:45               ` Marius Vollmer
2004-04-17 13:21 ` Dirk Herrmann
2004-04-22  4:16   ` Rob Browning
2004-04-22 17:48     ` Dirk Herrmann
2004-05-12 20:09   ` Marius Vollmer
2004-05-15  9:50     ` Dirk Herrmann
2004-05-24 18:51       ` Marius Vollmer
2004-05-25  0:21         ` Paul Jarc
2004-05-26 21:27         ` Dirk Herrmann
2004-06-03 21:40           ` Marius Vollmer
2004-06-04  6:52             ` tomas
2004-08-09 22:29               ` Marius Vollmer
2004-05-15 10:18     ` Dirk Herrmann
2004-05-24 19:36       ` Marius Vollmer
2004-05-26 22:11         ` Dirk Herrmann
2004-08-09 22:28           ` Marius Vollmer
2004-04-22  4:39 ` Rob Browning
2004-04-22 17:58   ` Dirk Herrmann
2004-04-23  0:25     ` Rob Browning
2004-04-23 16:57   ` Marius Vollmer
2004-04-23 17:16     ` Rob Browning
2004-05-17 21:24       ` Marius Vollmer
2004-04-23 17:36     ` Andreas Rottmann
2004-05-17 21:30       ` Marius Vollmer
2004-05-18  9:21         ` Andreas Rottmann
2004-04-25  7:54     ` Dirk Herrmann [this message]
2004-05-17 21:44       ` Marius Vollmer

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=408B6EAF.4030008@dirk-herrmanns-seiten.de \
    --to=dirk@dirk-herrmanns-seiten.de \
    --cc=guile-devel@gnu.org \
    --cc=rlb@defaultvalue.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).