From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Pushing the `gnus-range-*' functions down into the C layer Date: Sat, 11 Sep 2010 11:36:52 +0200 Message-ID: References: <87eid14rzg.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1284197912 31878 80.91.229.12 (11 Sep 2010 09:38:32 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 11 Sep 2010 09:38:32 +0000 (UTC) Cc: emacs-devel@gnu.org To: Ted Zlatanov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 11 11:38:31 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OuMWf-0002yU-0T for ged-emacs-devel@m.gmane.org; Sat, 11 Sep 2010 11:38:28 +0200 Original-Received: from localhost ([127.0.0.1]:51725 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OuMWC-0003yr-Ck for ged-emacs-devel@m.gmane.org; Sat, 11 Sep 2010 05:37:08 -0400 Original-Received: from [140.186.70.92] (port=48601 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OuMW3-0003xn-Do for emacs-devel@gnu.org; Sat, 11 Sep 2010 05:37:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OuMW1-0004mq-Qh for emacs-devel@gnu.org; Sat, 11 Sep 2010 05:36:59 -0400 Original-Received: from impaqm4.telefonica.net ([213.4.138.4]:32255) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OuMW1-0004jJ-Io for emacs-devel@gnu.org; Sat, 11 Sep 2010 05:36:57 -0400 Original-Received: from IMPmailhost6.adm.correo ([10.20.102.127]) by IMPaqm4.telefonica.net with bizsmtp id 5JPd1f01K2kvMAa3QMcvpc; Sat, 11 Sep 2010 11:36:55 +0200 Original-Received: from ceviche.home ([83.61.39.212]) by IMPmailhost6.adm.correo with BIZ IMP id 5Mcs1f00A4aeRwb1mMctf3; Sat, 11 Sep 2010 11:36:55 +0200 X-Brightmail-Tracker: AAAAAA== X-TE-authinfo: authemail="monnier$movistar.es" |auth_email="monnier@movistar.es" X-TE-AcuTerraCos: auth_cuTerraCos="cosuitnetc01" Original-Received: by ceviche.home (Postfix, from userid 20848) id A2EBC660D2; Sat, 11 Sep 2010 11:36:52 +0200 (CEST) In-Reply-To: <87eid14rzg.fsf@lifelogs.com> (Ted Zlatanov's message of "Fri, 10 Sep 2010 09:01:55 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:129960 Archived-At: SM> Hmm... so how 'bout installing a C version of range-memq and keep SM> everything else in Elisp? Would that be good enough as a "quick SM> fix"? > Lars, how about the performance of the set operations (difference, > union, subset/superset, intersection)? The hope would be that when operating on compressed sets those operations would be sufficiently fast even when coded in Elisp. > They'll benefit from a fast range-memq but they would still do a lot > of ELisp work. Set intersection and difference should not use range-memq, so it would only gain from working on compressed data. And Elisp is slow, so it would still be slow. But hopefully these operations would gain enough from working on compressed data, and are called sufficiently rarely for it not to be a problem. > Can ranges be an opaque type (with rangep, make-range, etc.) so the > implementation is irrelevant to the user? That seems the best > compromise between performance and maintainability. As long as you can > read and print ranges in a consistent format, that is. That would probably be the way to go, indeed. Stefan