Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Tue, 24 Nov 2009 15:49:58 +0100 Received: by mail.proteosys.com (8.14.3/8.14.3) with ESMTP id nAOEnqi2031385 for ; Tue, 24 Nov 2009 15:49:52 +0100 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id nAOEkWDM006422 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 24 Nov 2009 15:46:33 +0100 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id nAOEDAYY009326; Tue, 24 Nov 2009 15:46:23 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 368665 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 24 Nov 2009 15:46:23 +0100 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id nAOEkNb7014009 for ; Tue, 24 Nov 2009 15:46:23 +0100 Received: from ueamailgate01.uea.ac.uk (ueamailgate01.uea.ac.uk [139.222.131.184]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id nAOEk8gi005986 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 24 Nov 2009 15:46:12 +0100 Received: from ueams01.uea.ac.uk (ueams01.uea.ac.uk [139.222.131.78]) by ueamailgate01.uea.ac.uk (8.13.1/8.13.1) with ESMTP id nAOEk05Z013928 for ; Tue, 24 Nov 2009 14:46:00 GMT Received: from [139.222.201.77] by ueams01.uea.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1NCweW-0006eU-Rh for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 24 Nov 2009 14:46:00 +0000 User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 References: <19209.8773.325233.396932@morse.mittelbach-online.de> <4B0BDBC8.3060802@morningstar2.co.uk> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Canit-CHI2: 0.00 X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN, outgoing) X-CanItPRO-Stream: UEA:outgoing (inherits from UEA:default,base:default) X-Canit-Stats-ID: 36499739 - 706e5da9e59e X-Scanned-By: MIMEDefang 2.65 on 213.139.130.197 X-Scanned-By: CanIt (www . roaringpenguin . com) on 139.222.131.184 Message-ID: <4B0BF1A9.3030507@morningstar2.co.uk> Date: Tue, 24 Nov 2009 14:46:01 +0000 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: Passing a dictionary to, for example, the TOC entry formatter To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -6.599 () BAYES_00,RCVD_IN_DNSWL_MED Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 24 Nov 2009 14:49:58.0732 (UTC) FILETIME=[64DB60C0:01CA6D15] Status: R X-Status: X-Keywords: X-UID: 6183 J.Fine wrote: > The overhead you point to is slight, and there are worse offenders (such as the LaTeX3 programming language itself). > > I also suspect that if you do the tests I think you'll find > \expandafter\def\csname aa.bb\endcsname{A longish piece of text} > \def\mymacro #1{\csname #1.bb\endcsname > \mymacro{aa} > will be quicker than > \mymacro{A longish piece of text} > because of the reduced churning of tokens. But I could be wrong. I think that it's likely that dictionaries will be implemented using data "packed" inside another variable, rather than as csnames. This makes it easier to do things like "clear the dictionary" without needing to know every entry type. > Your revision of my > #1{name} > to > \DictionaryLookup{#2}{name} > I strongly disagree with. You've taken something simple that works, and changed it to something that is broken (because it assumes that all maps will be dictionaries). That will depend on how things are implemented, but I take your point. Sorry about this. -- Joseph Wright