From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/74514 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.gnus.general Subject: Re: Improving Gnus speed Date: Mon, 29 Nov 2010 05:47:28 +0100 Organization: Programmerer Ingebrigtsen Message-ID: References: <87zktemkwl.fsf@uwo.ca> <87vd42mdci.fsf@uwo.ca> <87r5e555e0.fsf@uwo.ca> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1291006130 372 80.91.229.12 (29 Nov 2010 04:48:50 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 29 Nov 2010 04:48:50 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M22873@lists.math.uh.edu Mon Nov 29 05:48:46 2010 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PMvfR-0002eG-Fb for ding-account@gmane.org; Mon, 29 Nov 2010 05:48:45 +0100 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 1PMvfL-00064M-M8; Sun, 28 Nov 2010 22:48:39 -0600 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 1PMvfK-00064B-Ej for ding@lists.math.uh.edu; Sun, 28 Nov 2010 22:48:38 -0600 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx1.math.uh.edu with esmtp (Exim 4.72) (envelope-from ) id 1PMvfG-0007Tq-2h for ding@lists.math.uh.edu; Sun, 28 Nov 2010 22:48:38 -0600 Original-Received: from lo.gmane.org ([80.91.229.12]) by quimby.gnus.org with esmtp (Exim 3.36 #1 (Debian)) id 1PMvfF-0005Q1-00 for ; Mon, 29 Nov 2010 05:48:33 +0100 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PMvfA-0002Wa-VR for ding@gnus.org; Mon, 29 Nov 2010 05:48:28 +0100 Original-Received: from cm-84.215.34.171.getinternet.no ([84.215.34.171]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 29 Nov 2010 05:48:28 +0100 Original-Received: from larsi by cm-84.215.34.171.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 29 Nov 2010 05:48:28 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-Lines: 25 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.215.34.171.getinternet.no Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEUKBggHBAUbFxsDAQOK h44FAgQBAAGAzOCNAAACUklEQVQ4jWVS0VLkIBAcUN5hV+4ZEe/ZlYJnL8UHBFPjD1Dm/z/heoie rkcqm830dE83gfaSM5dR636skfOouWTKvHHp+bOOlfeacya+gOHyB2MQ7jqB2X057xMYT7HWkg8G n8+D8yzX/bRsg7c950KOiq/l7VAft+3XMaNQ4VJh4KCM1EQUhS4ztvy+H7aGXjJ4sGPIdLSP3eK1 5mGNpMrZefK8MjKlB2hDGlctoytLhlcDSvo9Mw/w9rF7VuRc9+jU5wFBQHA+xoWZVCe3lfUmlzdQ 8pj+Lm4lUmwYcloVV+q7SEGUHRE59vlZt8Zb2XLeZh7k6HfBa9NvW3vIOcYWah1l60zurq3kV53a H+aoA7yHp0iG6LYRWUqtvXCJCAueXjBhPbX71SpINX9azJYetxSXEIl0elhPmN0aoZOhmNpLjBRj fNQUBQippfu0cIroEyBqakmA1lKgxZLwCfcSJ6HNv61J6wHE1L5W0roZjRloP+oiuUh3CC7GhQJs RVwLuhR84k2HpSHiSsaiOT5Pi/C3xIAnGY2QyP7a6eYSHZxCRSH546vik6H1iQu/WhcEwIclCq/E 3tNl7Vz0KhkW2SnZLDoz4yAxznYnCbdEqVvPYKDIvTv5bhJTANdxUJi7dd15ASTKwbDGoE7KTQLB JYkrdHpoTIC+L2izUwfg7DfAsSxw3OS5K0TKUqcrhiWPVucBX81wboqD0e0VoGSyskqi/KvZD8bE /2ccLuURrgA1XeIXB/kHw0q7g6+fWhaeLBp+DBFx9bWH11KfUb+tv4ogs8xdeu4VAAAAAElFTkSu QmCC Mail-Copies-To: never X-Now-Playing: Mark Kozelek's _Lost Verses - Live_: "Tonight in Bilbao" User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:mVA360FKxAS3Fmw/tk4sTCuok6U= X-Spam-Score: -1.9 (-) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:74514 Archived-At: Dan Christensen writes: > As you pointed out, the real thing to investigate is the rest of > the time taken for summary buffer generation. Any takers? For large buffers, a lot of the time is spent on marks management. The various marks are list lists of numbers, and `memq' is being used to check for their presence. I've had fixing this on my agenda for a few months, but it hasn't happened yet. :-) The plan is to not uncompress the ranges into lists, and use `gnus-member-of-range' instead: (setq range '((1 . 10000) (20000 . 30000))) (length (setq list (gnus-uncompress-range range))) (benchmark-run-compiled 20000 (memq 15000 list)) 1.4s (benchmark-run-compiled 20000 (gnus-member-of-range 15000 range)) 0.1s -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen