From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/53124 Path: main.gmane.org!not-for-mail From: Dave Love Newsgroups: gmane.emacs.gnus.general Subject: Re: fast local-file storage for Gnus Date: Thu, 12 Jun 2003 23:25:53 +0100 Sender: ding-owner@lists.math.uh.edu Message-ID: References: <4nvfw19zgy.fsf@lockgroove.bwh.harvard.edu> <87smqwedvf.fsf@mail.paradoxical.net> <4n1xygihkm.fsf@lockgroove.bwh.harvard.edu> <4nadcz895o.fsf@lockgroove.bwh.harvard.edu> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1055456617 16646 80.91.224.249 (12 Jun 2003 22:23:37 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 12 Jun 2003 22:23:37 +0000 (UTC) Original-X-From: ding-owner+M1668@lists.math.uh.edu Fri Jun 13 00:23:35 2003 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19QaTn-0004KK-00 for ; Fri, 13 Jun 2003 00:23:35 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 19QaW9-00012F-00; Thu, 12 Jun 2003 17:26:01 -0500 Original-Received: from sclp3.sclp.com ([64.157.176.121]) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 19QaW5-00012A-00 for ding@lists.math.uh.edu; Thu, 12 Jun 2003 17:25:57 -0500 Original-Received: (qmail 33111 invoked by alias); 12 Jun 2003 22:25:56 -0000 Original-Received: (qmail 33105 invoked from network); 12 Jun 2003 22:25:56 -0000 Original-Received: from albion.dl.ac.uk (148.79.80.39) by sclp3.sclp.com with SMTP; 12 Jun 2003 22:25:56 -0000 Original-Received: from fx by albion.dl.ac.uk with local (Exim 3.36 #1 (Debian)) id 19QaW1-0000iL-00 for ; Thu, 12 Jun 2003 23:25:53 +0100 Original-To: ding@gnus.org User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.2 (gnu/linux) Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:53124 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:53124 Ted Zlatanov writes: > I'm sure the implementation will not be hard for people who know > autoconf well. [That might be me, which is why I made the comment! The problem is in guessing where on earth the library is, and checking versions.] > You mentioned dynamic loading, that would be nice too but could be a > problem if libdb is modified or removed. It's pretty much the same as with Lisp libraries. (It was intentionally not done like the XEmacs implementation.) > It's not a bad approach, but it can be slow with large alists. You don't actually have to cons an alist to transfer data from a file to a hash table. (You can read data directly into a table, which is probably faster. If necessary, you could make a primitive to dump and restore hash tables fast.) If you want `fast' access to the data, you presumably have to read them into memory anyway, so I think it needs measurements, unless you've already made them. I've had surprising results from measuring this sort of thing in the past. > Here's what I want, in an ideal world: a new data structure called a > persistent-hashtable. [...] > Is this possible? I don't see why not, if it's well designed, but you'd want to talk to rms about it and be prepared to do the implementation. I suspect it's more difficult to get right than you might guess, but that's not a reason for not doing it.