Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!ecngs!feeder2.ecngs.de!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.008 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'raises': 0.07; 'python': 0.09; 'subject:into': 0.09; 'subject:method': 0.09; 'utf8': 0.09; 'subject:python': 0.11; 'extension': 0.13; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'subject:class': 0.16; 'wed,': 0.16; 'wrote:': 0.17; 'bytes': 0.17; 'instance': 0.17; 'refers': 0.17; 'unicode': 0.17; 'code,': 0.18; 'feb': 0.19; 'back.': 0.22; 'subject:problem': 0.22; 'class.': 0.23; "python's": 0.23; 'feature': 0.24; 'header:In-Reply-To:1': 0.25; 'message-id:@mail.gmail.com': 0.27; 'question:': 0.29; 'purposes,': 0.33; 'to:addr:python-list': 0.33; 'received:google.com': 0.34; 'pm,': 0.35; "won't": 0.35; 'received:209.85': 0.35; 'something': 0.35; 'really': 0.36; 'method': 0.36; 'does': 0.37; 'received:209': 0.37; 'subject:: ': 0.38; 'sure': 0.38; 'performance': 0.39; 'to:addr:python.org': 0.39; 'takes': 0.39; 'called': 0.39; 'little': 0.39; 'your': 0.60; 'between': 0.63; 'here': 0.65; 'god': 0.66; 'obvious': 0.71; 'saving': 0.72; 'goal': 0.74; '2013': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=Qa89b5eR8x2RcTLZPnD11JlItty1bnAoEWfJYOZyvvE=; b=Jm5f1mnLGNcWBS5oIPgbK2crsK5eE80klIwhCOqbADYCemu2PL4YIYWMPfgAC45tEo 4BC9YuAJCW/IxHPUoYCjQAHX5gorwpcvD9qIZAT7HeKxTfE6QhtzfGSikf4jGM1ydnHf CWe/ySqtwb/YnUWeWqd1cDM0+fGElUGsrqZMm4Pm1SfRyN08AFuQqTCUmeT8fvPexwqh CbJVYIQUhZ6tR3UaImfxkqw/eaE3/oVFL3InIu5vv9r1h0hF+e8QEWVXcxqidkWn7cdp Fpmp0Z4CWFzgCrpOBVFnqsxndjE27NwT5rmPwTD9/1UfeGPk24Kcx+qezpq8z2oZlQqi 35Jg== MIME-Version: 1.0 X-Received: by 10.221.10.14 with SMTP id oy14mr677697vcb.34.1361962144596; Wed, 27 Feb 2013 02:49:04 -0800 (PST) In-Reply-To: <512DE1AB.7000100@chamonix.reportlab.co.uk> References: <512CEF0C.3020906@chamonix.reportlab.co.uk> <512DE1AB.7000100@chamonix.reportlab.co.uk> Date: Wed, 27 Feb 2013 21:49:04 +1100 Subject: Re: python 3 problem: how to convert an extension method into a class Method From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 21 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1361962147 news.xs4all.nl 6990 [2001:888:2000:d::a6]:58509 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:40048 On Wed, Feb 27, 2013 at 9:36 PM, Robin Becker wrote: > However, in my case the method takes > > > > py C > utf8 bytes 50 20 usec > unicode 39 15 > > here py refers to a native python method and C to the extension method > after adding to the class. Both are called via an instance of the class. Which raises the obvious question: Does it even matter? Will the saving of a few microseconds really make a difference? Python's best feature is its clarity of code, not its blazing performance; its performance goal is "fast enough", and for many MANY purposes, you won't be able to tell the difference between that and "awesome". Don't sacrifice your code's clarity to the little tin god of efficiency until you're sure you actually get something back. ChrisA