unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Noah Friedman <friedman@splode.com>
Cc: alex@emacswiki.org, emacs-devel@gnu.org
Subject: Re: IRC client for Emacs
Date: Wed, 21 Aug 2002 19:39:00 -0700 (PDT)	[thread overview]
Message-ID: <20020821193900.557945.FMU965@piglet.prv.splode.com> (raw)
In-Reply-To: <200208220156.g7M1uvx10414@wijiji.santafe.edu> (rms@gnu.org Wednesday, 21 Aug 2002 19:56:57 -0600)

>    What do you think about providing persistent hashtables, via gdbm or
>    berkeley db? 
>
>It is not completely out of the question, but it sounds awfully
>heavyweight.  Sinc ethis does need to run particularly fast,
>we ought to be able to do something more simpler, using text
>files directly.

The solutions that come to mind involve generating a separate index for
those files and writing the lookup and loading routines in elisp.  This is
ok, but the disadvantages I see to that are:

    * it's another special-purpose API

    * Since the data is plain text, you either have to read the whole file
      into memory to scan for the relevant data, or else generate a
      separate index file.  Index files would need to be regenerated when
      the plain text file changes, so you have to check for this condition
      somewhere.

      The other alternative is to have a separate message per-file, but
      then performance is dependent on the implementation of the
      filesystem.  For example ext2fs has linear directory tables but xfs
      has b-tree indexed tables; so file name resolution on the former,
      especially in large directories, is slower.
  
    * all the routines for lookup and index generation would be in elisp,
      which is slower than adding C calls to gdbm/dbd.

Persistent hashtables might be useful for other things (such as BBDB), so
they seem worth considering for reasons beyond localization.  For
applications which frequently access the same data, they can cache it.
Perhaps that could even be a feature of hashtables which open the diskfile
in read-only mode, but in any case you could just copy values to a
non-persistent hash.

  reply	other threads:[~2002-08-22  2:39 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-09 16:01 IRC client for Emacs Alex Schroeder
2002-08-09 20:25 ` John Wiegley
2002-08-10  5:37 ` Noah Friedman
2002-08-11  3:55   ` Richard Stallman
2002-08-11 18:14     ` Alex Schroeder
2002-08-11 23:06       ` Noah Friedman
2002-08-14 16:50         ` Mario Lang
2002-08-14 17:11         ` Karl Eichwalder
2002-08-14 19:07           ` Alex Schroeder
     [not found]             ` <m2sn1ht4sq.fsf@primate.xs4all.nl>
2002-08-15  8:49               ` Mario Lang
2002-08-15 19:24             ` Karl Eichwalder
2002-08-15 19:54             ` Richard Stallman
2002-08-20 21:38               ` Noah Friedman
2002-08-21  1:53                 ` Richard Stallman
2002-08-21  2:07                   ` Noah Friedman
2002-08-22  1:56                     ` Richard Stallman
2002-08-22  2:39                       ` Noah Friedman [this message]
2002-08-22  7:13                         ` Daiki Ueno
2002-08-24  2:33                         ` Richard Stallman
2002-08-24  4:03                           ` Daiki Ueno
2002-08-25  5:27                             ` Richard Stallman
2002-08-26 18:29                               ` Noah Friedman
2002-08-27 19:05                                 ` Richard Stallman
2002-08-21  6:51                 ` Eli Zaretskii
2002-08-22  0:14                 ` Karl Eichwalder
2002-08-13  1:47       ` Richard Stallman
2002-08-13  2:10         ` Noah Friedman
2002-08-13  2:18           ` Mark Ayers
2002-08-14  5:14             ` Richard Stallman
2002-08-13  6:57         ` John Wiegley
2002-08-13 20:47           ` Alex Schroeder
2002-08-14  5:15             ` Richard Stallman
2002-08-12 14:30     ` Steve Youngs
2002-08-10 17:17 ` Richard Stallman
2002-08-10 19:34   ` Alex Schroeder
  -- strict thread matches above, loose matches on Subject: below --
2002-08-24  4:32 IRC Client " Jonathan Walther
2002-08-24  5:11 ` Damien Elmes
2002-08-25  5:27 ` Richard Stallman

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/emacs/

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

  git send-email \
    --in-reply-to=20020821193900.557945.FMU965@piglet.prv.splode.com \
    --to=friedman@splode.com \
    --cc=alex@emacswiki.org \
    --cc=emacs-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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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