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
next prev 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).