From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/83272 Path: news.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.gnus.general Subject: Re: XEmacs hash table representation (was XEmacs builds failing - gnus-spec.el) Date: Thu, 06 Jun 2013 10:46:30 -0400 Organization: =?utf-8?B?0KLQtdC+0LTQvtGAINCX0LvQsNGC0LDQvdC+0LI=?= @ Cienfuegos Message-ID: <87d2rzuwjd.fsf@lifelogs.com> References: <87hahgzy50.fsf@randomsample.de> <3108.1370190154@rawbw.com> Reply-To: ding@gnus.org NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1370530225 925 80.91.229.3 (6 Jun 2013 14:50:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 6 Jun 2013 14:50:25 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M31538@lists.math.uh.edu Thu Jun 06 16:50:26 2013 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UkbWD-0006l8-MK for ding-account@gmane.org; Thu, 06 Jun 2013 16:50:25 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1UkbVw-0004nE-Gz; Thu, 06 Jun 2013 09:50:08 -0500 Original-Received: from mx1.math.uh.edu ([129.7.128.32]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1UkbVv-0004ms-0u for ding@lists.math.uh.edu; Thu, 06 Jun 2013 09:50:07 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx1.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1UkbVs-0002KK-KG for ding@lists.math.uh.edu; Thu, 06 Jun 2013 09:50:06 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]) by quimby.gnus.org with esmtp (Exim 4.72) (envelope-from ) id 1UkbVr-00076n-9a for ding@gnus.org; Thu, 06 Jun 2013 16:50:03 +0200 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1UkbVq-0006On-Lr for ding@gnus.org; Thu, 06 Jun 2013 16:50:02 +0200 Original-Received: from pool-72-93-26-80.bstnma.east.verizon.net ([72.93.26.80]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 06 Jun 2013 16:50:02 +0200 Original-Received: from tzz by pool-72-93-26-80.bstnma.east.verizon.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 06 Jun 2013 16:50:02 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-Lines: 36 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: pool-72-93-26-80.bstnma.east.verizon.net X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6;d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" Mail-Copies-To: never User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:HT4JN87VR4s6piXEJSdzg+9unZY= X-Spam-Score: -2.4 (--) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:83272 Archived-At: On Sun, 02 Jun 2013 09:22:34 -0700 Mike Kupfer wrote: MK> David Engster wrote: >> It's not about the hash table metadata but about speed. Before Ted >> rewrote the code, the registry used to do a conversion to/from an alist, >> and I remember that writing/reading the registry this way was annoyingly >> slow, at least on slow machines in combination with big registries (mine >> has about 100.000 entries). MK> Ah, okay. Thanks for the clarification. I've been wondering (in my free time) whether it would make sense to provide an even faster binary backend for the registry file. BSON looks pretty good. Its C implementation is pretty simple. https://github.com/casualjim/emacs.d/blob/master/elpa/mongo-20120826.14/bson.el provides a pure ELisp implementation we could use if a C implementation was not available (in older Emacsen/XEmacsen). Right now all this is just idle wondering... >> Of course, one could still do that specially for XEmacs. I guess all it >> takes is to define a proper ':printer' slot for the registry >> object. MK> For the sake of interoperability, I think that it'd be better to print MK> the hash table for XEmacs (with print-readably set to t). I did some MK> (very) limited testing, and it looked like the printed representations MK> of hash tables are compatible between Emacs and XEmacs. They are not, unfortunately... I forget the exact issues because this was years ago but there were some annoying cases with the data, both with the metadata and with the string encodings. Ted