Received: from mx0.gmx.net (mx0.gmx.net [213.165.64.100]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with SMTP id p3L8UrSP003750 for ; Thu, 21 Apr 2011 10:30:54 +0200 Received: (qmail 31753 invoked by alias); 21 Apr 2011 08:30:48 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 21 Apr 2011 08:30:47 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx073) with SMTP; 21 Apr 2011 10:30:47 +0200 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 p3L8SCrf001074 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 21 Apr 2011 10:28:12 +0200 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 p3L8G5oR005520; Thu, 21 Apr 2011 10:28:12 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 1234215 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 21 Apr 2011 10:28:11 +0200 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 p3L8S8Cp005445 for ; Thu, 21 Apr 2011 10:28:08 +0200 Received: from mail-pz0-f49.google.com (mail-pz0-f49.google.com [209.85.210.49]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id p3L8S09q000943 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL) for ; Thu, 21 Apr 2011 10:28:06 +0200 Received: by pzk5 with SMTP id 5so1244556pzk.22 for ; Thu, 21 Apr 2011 01:28:00 -0700 (PDT) Received: by 10.68.38.199 with SMTP id i7mr2427780pbk.437.1303374480040; Thu, 21 Apr 2011 01:28:00 -0700 (PDT) Received: from staff-249-114.wireless.adelaide.edu.au (staff-249-114.wireless.adelaide.edu.au [129.127.249.114]) by mx.google.com with ESMTPS id k2sm1171084pbj.47.2011.04.21.01.27.57 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 21 Apr 2011 01:27:58 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1081) X-Mailer: Apple Mail (2.1081) X-Spam-Whitelist: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id p3L8S8Cp005446 Message-ID: Date: Thu, 21 Apr 2011 17:57:54 +0930 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Will Robertson Subject: Efficiency v correctness in \cs_new:Npn To: LATEX-L@listserv.uni-heidelberg.de Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (eXpurgate); Detail=5D7Q89H36p75bLVJkeBFOPAJtSE43fE3WfGXzHpUubKtDWRWooBTkw3LY3fTOIM9bzsel xD+7md3ibfOLURsQSzIlo8qMU2WWfN5i14uW14IJFfYLvnKEm/g/WQ8pCaF/fe5uFQSpeNKxEmiW TIAinj0jsQlAI/M+DVVxd4XVAPZmb7aLyW9YMH++w9YUHuLlkFSxTxRlH+ueEOEuiA9cg==V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de Status: R X-Status: X-Keywords: X-UID: 6720 Hi, Bruno has raised an issue [1] with \cs_new:Npn: it's slow. [1]: http://github.com/latex3/svn-mirror/issues/17 Around the time when the "\cs_" prefix was first introduced, Morten added a check to \cs_new:Npn to ensure you weren't trying to use it to define a command with a ":D" suffix, as they should be reserved for engine primitives. This seemed like a good idea at the time, but considering how often \cs_new:Npn is used in expl3, it has a definite performance hit to performing this check each and every time it's used. We'd like to propose dropping this check and moving it into the currently defunct l3chk module, which is designed to "switch on" these optional checks that are nice in theory but not efficient in practise. (l3chk hasn't been maintained so much but at some point I'd like to revive it.) Any thoughts for or against this idea? Cheers, -- Will