Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #58180

Re: Basic Python Questions - Oct. 31, 2013

Path csiph.com!usenet.pasdenom.info!aioe.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <rosuav@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.006
X-Spam-Evidence '*H*': 0.99; '*S*': 0.00; 'python,': 0.02; 'cpython': 0.05; 'explicitly': 0.05; 'true,': 0.05; 'subject:Python': 0.06; 'c++,': 0.07; 'perl,': 0.07; 'subject:Questions': 0.07; 'alain': 0.09; 'if,': 0.09; 'integers': 0.09; 'python': 0.11; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'instruction,': 0.16; 'integer.': 0.16; 'kern': 0.16; 'do,': 0.16; 'language': 0.16; 'wrote:': 0.18; '>>>': 0.22; '(by': 0.24; "aren't": 0.24; 'integer': 0.24; 'pointer': 0.24; 'math': 0.24; '(or': 0.24; 'question': 0.24; 'compiled': 0.26; 'push': 0.26; 'switch': 0.26; 'gets': 0.27; 'header:In-Reply-To:1': 0.27; 'point': 0.28; 'function': 0.29; 'chris': 0.29; 'am,': 0.29; "doesn't": 0.30; '(like': 0.30; 'robert': 0.30; 'message- id:@mail.gmail.com': 0.30; "i'm": 0.30; 'easier': 0.31; 'that.': 0.31; '>>>>': 0.31; 'bunch': 0.31; 'convenience': 0.31; 'libraries': 0.31; 'overhead': 0.31; 'writes:': 0.31; 'probably': 0.32; 'languages': 0.32; 'fri,': 0.33; "i'd": 0.34; 'but': 0.35; 'received:google.com': 0.35; 'functions.': 0.36; 'doing': 0.36; 'level': 0.37; 'being': 0.38; 'implement': 0.38; 'nov': 0.38; 'same.': 0.38; 'to:addr:python-list': 0.38; 'rather': 0.38; 'that,': 0.38; 'anything': 0.39; 'does': 0.39; 'expensive': 0.39; 'sure': 0.39; 'to:addr:python.org': 0.39; 'even': 0.60; 'then,': 0.60; 'most': 0.60; 'hardware': 0.61; 'course': 0.61; 'simple': 0.61; "you're": 0.61; 'high': 0.63; 'such': 0.63; 'more': 0.64; 'relatively': 0.65; 'subject:. ': 0.67; 'default': 0.69; 'heavy': 0.81; 'calculations': 0.84; 'difference.': 0.84; 'trig': 0.84; 'boxes': 0.91; 'subject:2013': 0.95; 'you).': 0.95; '2013': 0.98
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=OKqW1YzIVMlPiDHalIq1tyRZpkM6ziVZaH4zHQX62Zk=; b=VjDMXRYjXgLZD9LA3Jp8RP5ZhR4nncqdX/3FShCtt/930kedl4RCFQJNpBjTWAIeaT jTmGNbwNzvdtMcql/fQRWL86JYiUlwJNqfl4gQd/LJXOo/v2NteVXBaHPd9cmvzSo0fy ZoLNdJYNaJ9l52jpusscLbnsNI7OmvGMhrtmuhFqpQ0uK6pqx2kJK+b8IqGzjBxnElPf Uklt/H7TmT0WYRpEXz3pYGeYA/FptYZidJCvNgtoEv702XgLsSgt2vMqLGYfjte6zsgV 6o1dI6j+K83+qY9SGrxVlrELQFxOeJZCTef9rptRDfOdgWygbZ46NgHd1KJwhd+9zofX rO/w==
MIME-Version 1.0
X-Received by 10.68.110.196 with SMTP id ic4mr2314364pbb.84.1383230986834; Thu, 31 Oct 2013 07:49:46 -0700 (PDT)
In-Reply-To <l4tq6a$v14$1@ger.gmane.org>
References <UdGdnaDGa6n9vu_PnZ2dnUVZ_umdnZ2d@earthlink.com> <mailman.1868.1383213790.18130.python-list@python.org> <zOOdnQo2GfCgru_PnZ2dnUVZ_rWdnZ2d@earthlink.com> <877gctd1fn.fsf@dpt-info.u-strasbg.fr> <CAPTjJmownGpi3CDpndp5d2gh91=e-Qadc9GxuK+uXot++K7iKQ@mail.gmail.com> <l4tq6a$v14$1@ger.gmane.org>
Date Fri, 1 Nov 2013 01:49:46 +1100
Subject Re: Basic Python Questions - Oct. 31, 2013
From Chris Angelico <rosuav@gmail.com>
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 <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.1879.1383230996.18130.python-list@python.org> (permalink)
Lines 51
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1383230996 news.xs4all.nl 15973 [2001:888:2000:d::a6]:43784
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:58180

Show key headers only | View raw


On Fri, Nov 1, 2013 at 1:41 AM, Robert Kern <robert.kern@gmail.com> wrote:
> On 2013-10-31 14:05, Chris Angelico wrote:
>>
>> On Fri, Nov 1, 2013 at 12:17 AM, Alain Ketterlin
>> <alain@dpt-info.u-strasbg.fr> wrote:
>>>
>>> "E.D.G." <edgrsprj@ix.netcom.com> writes:
>>>
>>>>        The calculation speed question just involves relatively simple
>>>> math such as multiplications and divisions and trig calculations such
>>>> as sin and tan etc.
>>>
>>>
>>> These are not "simple" computations.
>>>
>>> Any compiled language (Fortran, C, C++, typically) will probably go much
>>> faster than any interpreted/bytecode-based language (like python or
>>> perl, anything that does not use a jit).
>>
>>
>> Well, they may not be simple to do, but chances are you can push the
>> work down to the CPU/FPU on most modern hardware - that is, if you're
>> working with IEEE floating point, which I'm pretty sure CPython always
>> does; not sure about other Pythons. No need to actually calculate trig
>> functions unless you need arbitrary precision (and even then, I'd bet
>> the GMP libraries have that all sewn up for you). So the language
>> doesn't make a lot of difference.
>
>
> Sure it does. Python boxes floats into a PyObject structure. Both Python and
> C will ultimately implement the arithmetic of "a + b" with an FADD
> instruction, but Python will do a bunch of pointer dereferencing, hash
> lookups, and function calls before it gets down to that. All of that
> overhead typically outweighs the floating point computations down at the
> bottom, even for the more expensive trig functions.

Of course that's true, but that difference is just as much whether
you're working with addition or trig functions. That overhead is the
same. So if, as I said in the other post, you're doing some heavy
crypto work or something, then yes, all that boxing and unboxing is
expensive. Most programs aren't doing that, so the advantage is far
less (by proportion).

Plus, high level languages like Python make it a *LOT* easier to work
with arbitrary-precision integers than C does. In Python, you just
work with the default integer type and it's infinite-precision. In C,
you have to switch to explicitly using GMP (or equivalent). I'd much
rather pay the overhead and have the convenience of int being able to
store any integer.

ChrisA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Basic Python Questions - Oct. 31, 2013 "E.D.G." <edgrsprj@ix.netcom.com> - 2013-10-31 04:31 -0500
  Re: Basic Python Questions - Oct. 31, 2013 Chris “Kwpolska” Warrick <kwpolska@gmail.com> - 2013-10-31 11:03 +0100
    Re: Basic Python Questions - Oct. 31, 2013 "E.D.G." <edgrsprj@ix.netcom.com> - 2013-10-31 05:38 -0500
      Re: Basic Python Questions - Oct. 31, 2013 Chris “Kwpolska” Warrick <kwpolska@gmail.com> - 2013-10-31 12:30 +0100
      Re: Basic Python Questions - Oct. 31, 2013 Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2013-10-31 14:17 +0100
        Re: Basic Python Questions - Oct. 31, 2013 Chris Angelico <rosuav@gmail.com> - 2013-11-01 01:05 +1100
          Re: Basic Python Questions - Oct. 31, 2013 Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2013-10-31 15:18 +0100
            Re: Basic Python Questions - Oct. 31, 2013 Chris Angelico <rosuav@gmail.com> - 2013-11-01 01:45 +1100
        Re: Basic Python Questions - Oct. 31, 2013 Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-10-31 14:15 +0000
          Re: Basic Python Questions - Oct. 31, 2013 Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2013-10-31 15:31 +0100
        Re: Basic Python Questions - Oct. 31, 2013 Robert Kern <robert.kern@gmail.com> - 2013-10-31 14:41 +0000
        Re: Basic Python Questions - Oct. 31, 2013 Chris Angelico <rosuav@gmail.com> - 2013-11-01 01:49 +1100
        Re: Basic Python Questions - Oct. 31, 2013 Robert Kern <robert.kern@gmail.com> - 2013-10-31 15:11 +0000
      Re: Basic Python Questions - Oct. 31, 2013 Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-10-31 13:48 +0000
        Re: Basic Python Questions - Oct. 31, 2013 "E.D.G." <edgrsprj@ix.netcom.com> - 2013-11-03 01:17 -0500
          Re: Basic Python Questions - Oct. 31, 2013 "E.D.G." <edgrsprj@ix.netcom.com> - 2013-11-12 04:21 -0600
            Re: Basic Python Questions - Oct. 31, 2013 Chris Angelico <rosuav@gmail.com> - 2013-11-13 10:05 +1100
      Re: Basic Python Questions - Oct. 31, 2013 rusi <rustompmody@gmail.com> - 2013-10-31 08:48 -0700
        Re: Basic Python Questions - Oct. 31, 2013 "E.D.G." <edgrsprj@ix.netcom.com> - 2013-11-03 00:45 -0500
          Re: Basic Python Questions - Oct. 31, 2013 rusi <rustompmody@gmail.com> - 2013-11-02 23:54 -0700
  Re: Basic Python Questions - Oct. 31, 2013 Roy Smith <roy@panix.com> - 2013-10-31 09:20 -0400
  Re: Basic Python Questions - Oct. 31, 2013 Skip Montanaro <skip@pobox.com> - 2013-10-31 11:14 -0500
  Re: Basic Python Questions - Oct. 31, 2013 William Ray Wing <wrw@mac.com> - 2013-11-01 11:42 -0400
    Re: Basic Python Questions - Oct. 31, 2013 "E.D.G." <edgrsprj@ix.netcom.com> - 2013-11-03 01:28 -0500
  Re: Basic Python Questions - Oct. 31, 2013 Ethan Furman <ethan@stoneleaf.us> - 2013-11-01 11:08 -0700
  Re: Basic Python Questions - Oct. 31, 2013 William Ray Wing <wrw@mac.com> - 2013-11-01 15:17 -0400
  Re: Basic Python Questions - Oct. 31, 2013 "E.D.G." <edgrsprj@ix.netcom.com> - 2013-11-03 01:02 -0500
    Re: Basic Python Questions - Oct. 31, 2013 Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-11-03 07:43 +0000
      Re: Basic Python Questions - Oct. 31, 2013 "E.D.G." <edgrsprj@ix.netcom.com> - 2013-11-03 03:47 -0600
        Re: Basic Python Questions - Oct. 31, 2013 Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-11-03 10:05 +0000
      Re: Basic Python Questions - Oct. 31, 2013 rusi <rustompmody@gmail.com> - 2013-11-03 10:28 -0800
        Re: Basic Python Questions - Oct. 31, 2013 Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-11-03 18:58 +0000
          Re: Basic Python Questions - Oct. 31, 2013 rusi <rustompmody@gmail.com> - 2013-11-03 20:07 -0800
    Re: Basic Python Questions - Oct. 31, 2013 Jim Gibson <JimSGibson@gmail.com> - 2013-11-03 10:18 -0800
      Re: Basic Python Questions - Oct. 31, 2013 Grant Edwards <invalid@invalid.invalid> - 2013-11-03 23:16 +0000
      Re: Basic Python Questions - Oct. 31, 2013 "E.D.G." <edgrsprj@ix.netcom.com> - 2013-11-04 23:22 -0600
        Re: Basic Python Questions - Oct. 31, 2013 88888 Dihedral <dihedral88888@gmail.com> - 2013-11-07 06:05 -0800
  Re: Basic Python Questions - Oct. 31, 2013 sigtool@kcl.ac.uk - 2013-11-10 06:40 -0800

csiph-web