From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/55830 Path: main.gmane.org!not-for-mail From: Katsumi Yamaoka Newsgroups: gmane.emacs.gnus.general Subject: Re: how to turn this Gnus function into a macro? Date: Thu, 08 Jan 2004 15:06:18 +0900 Organization: Emacsen advocacy group Sender: ding-owner@lists.math.uh.edu Message-ID: References: <4noetfo10c.fsf@collins.bwh.harvard.edu> <4n8ykjazla.fsf@collins.bwh.harvard.edu> <87k743qf5t.fsf@jbms.ath.cx> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1073542001 25630 80.91.224.253 (8 Jan 2004 06:06:41 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 8 Jan 2004 06:06:41 +0000 (UTC) Original-X-From: ding-owner+M4371@lists.math.uh.edu Thu Jan 08 07:06:37 2004 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AeTJU-0006y5-00 for ; Thu, 08 Jan 2004 07:06:36 +0100 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 1AeTJO-0003rY-00; Thu, 08 Jan 2004 00:06:30 -0600 Original-Received: from justine.libertine.org ([66.139.78.221] ident=postfix) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1AeTJJ-0003rT-00 for ding@lists.math.uh.edu; Thu, 08 Jan 2004 00:06:25 -0600 Original-Received: from washington.hostforweb.net (washington.hostforweb.net [69.61.11.2]) by justine.libertine.org (Postfix) with ESMTP id 96EA53A005B for ; Thu, 8 Jan 2004 00:06:25 -0600 (CST) Original-Received: from yamaoka by washington.hostforweb.net with local (Exim 4.24) id 1AeTJR-0005VT-15 for ding@gnus.org; Thu, 08 Jan 2004 01:06:33 -0500 Original-To: ding@gnus.org X-Face: #kKnN,xUnmKia.'[pp`;Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu;B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw= L&i*6&( User-Agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:+EwSayBTR60qEB8DS+0lqXAczeg= X-Hashcash: 0:040108:ding@gnus.org:996007ed1b44beae X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - washington.hostforweb.net X-AntiAbuse: Original Domain - gnus.org X-AntiAbuse: Originator/Caller UID/GID - [32041 32041] / [47 12] X-AntiAbuse: Sender Address Domain - washington.hostforweb.net Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:55830 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:55830 >>>>> In Katsumi Yamaoka wrote: > BTW, (eval '(MACRO ARG)) can be used, however it is four times > slower than (MACRO ARG). Here are benchmarks: ;; The function which Ted posted first. ;; <4noetfo10c.fsf@collins.bwh.harvard.edu> (byte-compile 'spam-fetch-field-fast) (benchmark 1000 (spam-fetch-field-fast 51549 'from)) 0.001971006393432617 0.0019199848175048828 0.001867055892944336 0.0019189119338989258 0.0018950700759887695 ;; The `eval' version. (defun spam-fetch-field-fast-1 (article field) (when (and (numberp article) (symbolp field)) (eval `(,(intern (concat "mail-header-" (symbol-name field))) ,(gnus-data-header (assoc article (gnus-data-list nil))))))) (byte-compile 'spam-fetch-field-fast-1) (benchmark 1000 (spam-fetch-field-fast-1 51549 'from)) 0.006534099578857422 0.006331086158752441 0.006301999092102051 0.006219029426574707 0.006276965141296387 -- Katsumi Yamaoka