From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Wojciech Meyer Newsgroups: gmane.emacs.devel Subject: Re: Pushing the `gnus-range-*' functions down into the C layer Date: Fri, 10 Sep 2010 01:17:43 +0100 Message-ID: <87wrquxxi0.fsf@gmail.com> References: <878w3azhg5.fsf@gmail.com> <87mxrq4gy0.fsf@lifelogs.com> <871v92zd26.fsf@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1284077937 30954 80.91.229.12 (10 Sep 2010 00:18:57 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 10 Sep 2010 00:18:57 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 10 02:18:56 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 1OtrKR-00046S-CQ for ged-emacs-devel@m.gmane.org; Fri, 10 Sep 2010 02:18:55 +0200 Original-Received: from localhost ([127.0.0.1]:46034 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OtrKQ-0002pe-Pj for ged-emacs-devel@m.gmane.org; Thu, 09 Sep 2010 20:18:54 -0400 Original-Received: from [140.186.70.92] (port=54745 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OtrKK-0002oa-HF for emacs-devel@gnu.org; Thu, 09 Sep 2010 20:18:49 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OtrKH-0001J5-4K for emacs-devel@gnu.org; Thu, 09 Sep 2010 20:18:48 -0400 Original-Received: from mail-wy0-f169.google.com ([74.125.82.169]:33330) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OtrKG-0001J0-Uh for emacs-devel@gnu.org; Thu, 09 Sep 2010 20:18:45 -0400 Original-Received: by wyb36 with SMTP id 36so2438230wyb.0 for ; Thu, 09 Sep 2010 17:18:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:from:to:subject:references :date:in-reply-to:message-id:user-agent:mime-version:content-type; bh=YiLKDgG5Vn1ecYQmsCV/NRmUQoE4/gsaI2Cgf7OpnFY=; b=LITDQNSAG9VK7SH6vd69XvkadvwrE5SOtB2kxC8eROqD52Hmbe6fp0KHqiwJpvMEj2 q7jHgBq5OgQphR4RYn3HP9ykD1RAatUOh3uYEcolSwIEl/6SWz4QCAAxgU6sQfJmJTGz pMaTEGUzt+JI68g4drx6eJ8sHZ2n/XEGZ4dbM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version:content-type; b=SBdNx29hlNwyDwpNmsYfZ4Q//IzgF4znzmQKR+dSQ4EuJQfpCSjxaa/nC3UvRyfmmo ySnp6qu3b8rqIJaBql7CpTtdyP57V1kz0V5ZC5lRD7cgC1kcybTcintd1UyFF20ASuv1 sQrqAxAUKFbawSb4yY+OER6NR5EmZnnybTC9c= Original-Received: by 10.227.142.8 with SMTP id o8mr171547wbu.16.1284077920620; Thu, 09 Sep 2010 17:18:40 -0700 (PDT) Original-Received: from spec-desktop.specuu.com (host86-147-138-117.range86-147.btcentralplus.com [86.147.138.117]) by mx.google.com with ESMTPS id o49sm1291636wej.19.2010.09.09.17.17.54 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 09 Sep 2010 17:18:39 -0700 (PDT) In-Reply-To: (Lars Magne Ingebrigtsen's message of "Fri, 10 Sep 2010 02:07:48 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) 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:129850 Archived-At: Lars Magne Ingebrigtsen writes: > Wojciech Meyer writes: > >> I think they are best to solve your performance problems. The idea is >> to keep just one array for all of the articles, means one per >> group. That would be just the internal representation, you still >> save-read from lists with article ranges. > > The performance issue is converting between FOO and ranges. > Representing FOO as arrays instead of lists doesn't help with the > conversion problem. Yes, I understand that, but one could eliminate ranges completely, but I am not an expert on nntp. Plus it has a linear complexity, as you it can be computed with just simple state machine. How long it will take to traverse 10000 articles consing pair of integers? (I bet not that long). (maybe just reading the articles on the fly, then you have only additional cost of skipping - proportional to number of them (0(n)).) As I said, I am not entirely in the problem domain so I can't say with 100% sure, but I feel it should not be that complex to cause delays in Gnus, and BTW: I am very happy user of Gnus, and I didn't notice this problem :).