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


Groups > comp.lang.python > #46104

Re: Solving the problem of mutual recursion

Path csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Return-Path <ian.g.kelly@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.037
X-Spam-Evidence '*H*': 0.93; '*S*': 0.00; 'yet.': 0.04; 'cpython': 0.05; 'pypy': 0.07; 'removes': 0.07; 'python': 0.11; 'concurrency': 0.16; 'fork': 0.16; 'ironpython': 0.16; 'subject:recursion': 0.16; 'threads,': 0.16; 'wrote:': 0.18; 'machine': 0.22; 'case.': 0.24; 'certainly': 0.24; 'subject:problem': 0.24; 'regardless': 0.24; 'together.': 0.24; 'looks': 0.24; 'header:In-Reply-To:1': 0.27; 'reporting': 0.29; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'probably': 0.32; 'running': 0.33; 'mac': 0.33; 'maybe': 0.34; 'subject:the': 0.34; 'knowledge': 0.35; "can't": 0.35; 'no,': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'shows': 0.36; 'performance': 0.37; 'e.g.': 0.38; 'version,': 0.38; 'to:addr :python-list': 0.38; 'pm,': 0.38; 'does': 0.39; 'sure': 0.39; 'to:addr:python.org': 0.39; 'release': 0.40; 'include:': 0.61; "you're": 0.61; 'different': 0.65; 'it!': 0.67; 'believe': 0.68; 'yes': 0.68; '26,': 0.68; 'normal.': 0.68; 'mistakenly': 0.91; 'imagine': 0.93; '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:from:date:message-id:subject:to :content-type; bh=Bx6EuDQQwhFqbD3pk2cXRmkqqKTmuhSJNN5CSs4nKWo=; b=pqna54fzOTev+fQXy7vFhqdHOBiN2qKBopzWEEeZfwVTCMRb/ejQHhjKstxw2eYHOv zi9WrUyA+FiDBztmb46sWNzgcJOWrZV4xte9izQ2uWI71bQHGTEN3ziQF7BtaQirxXha ZHdeXf11BkEqUGC+nvsj0kD5UOaw2rRAjalcxl2lnEzNPV5HlvHaco9f9onZH3i24QZ8 TQoNPykjCcnXUfCS3gbFY59u3tpzps80DxDRMEUXcKmrVEeFaZyWz3q3DGl5Uu0iZSxz ARKTSTwuVN5l3KIz1U+6xpETnJD+TBdeabHJHyTOSsofmEGNqrN+Wzgt+RY1JqqdwEYA cVAA==
X-Received by 10.68.179.194 with SMTP id di2mr20904488pbc.214.1369596993471; Sun, 26 May 2013 12:36:33 -0700 (PDT)
MIME-Version 1.0
In-Reply-To <074eac8a-1bc4-4fe0-afa9-1f52405f81d5@k3g2000vbn.googlegroups.com>
References <55942e65-e4a5-45fc-b2fc-ceb4020959dd@k4g2000vba.googlegroups.com> <qota9nhu6ag.fsf@ruuvi.it.helsinki.fi> <d54dff54-73cc-4b90-8a85-bafd5118489f@cl9g2000vbb.googlegroups.com> <mailman.2185.1369591777.3114.python-list@python.org> <074eac8a-1bc4-4fe0-afa9-1f52405f81d5@k3g2000vbn.googlegroups.com>
From Ian Kelly <ian.g.kelly@gmail.com>
Date Sun, 26 May 2013 13:35:52 -0600
Subject Re: Solving the problem of mutual recursion
To Python <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 <http://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 <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.2192.1369596997.3114.python-list@python.org> (permalink)
Lines 28
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1369596997 news.xs4all.nl 15863 [2001:888:2000:d::a6]:50351
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:46104

Show key headers only | View raw


On Sun, May 26, 2013 at 12:13 PM, Peter Brooks
<peter.h.m.brooks@gmail.com> wrote:
> No, on a multi-core machine it's normal. The machine shows python
> running multiple threads - and the number of threads change as the
> program runs. Perhaps the OS/X implementation of python does allow
> concurrency when others don't. It certainly looks like it!

I'm pretty sure that CPython uses the GIL regardless of platform.  And
yes you can have multiple OS-level threads, but because of the GIL
only one will actually be running at a time.  Other possibilities
include:

1) You're using a different implementation of Python that does not
have a GIL, e.g. Jython or IronPython (well, probably not the latter).
 I believe PyPy also has a GIL-less version, although I don't think
this is in the current release yet.

2) You're using a fork of CPython that removes the GIL.  There are a
number of these, but none to my knowledge that are able to maintain
the performance of CPython for a single thread.

3) You're mistakenly looking at multiple Python processes that are
running simultaneously and adding their usages together.

4) The utility you're using is reporting the process CPU usage incorrectly.

5) Maybe for some reason the Mac OS X build of CPython is using
spin-locks in the GIL.  I can't imagine why this would be the case.

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


Thread

Solving the problem of mutual recursion Peter Brooks <peter.h.m.brooks@gmail.com> - 2013-05-26 04:49 -0700
  Re: Solving the problem of mutual recursion Jussi Piitulainen <jpiitula@ling.helsinki.fi> - 2013-05-26 18:09 +0300
    Re: Solving the problem of mutual recursion Roy Smith <roy@panix.com> - 2013-05-26 11:23 -0400
    Re: Solving the problem of mutual recursion Peter Brooks <peter.h.m.brooks@gmail.com> - 2013-05-26 10:21 -0700
      RE: Solving the problem of mutual recursion Carlos Nepomuceno <carlosnepomuceno@outlook.com> - 2013-05-26 21:09 +0300
        Re: Solving the problem of mutual recursion Peter Brooks <peter.h.m.brooks@gmail.com> - 2013-05-26 11:13 -0700
          RE: Solving the problem of mutual recursion Carlos Nepomuceno <carlosnepomuceno@outlook.com> - 2013-05-26 21:22 +0300
            Re: Solving the problem of mutual recursion Peter Brooks <peter.h.m.brooks@gmail.com> - 2013-05-26 12:05 -0700
          Re: Solving the problem of mutual recursion Ian Kelly <ian.g.kelly@gmail.com> - 2013-05-26 13:35 -0600
          Re: Solving the problem of mutual recursion Chris Angelico <rosuav@gmail.com> - 2013-05-27 08:16 +1000
            Re: Solving the problem of mutual recursion Peter Brooks <peter.h.m.brooks@gmail.com> - 2013-05-26 21:36 -0700
              Re: Solving the problem of mutual recursion Ian Kelly <ian.g.kelly@gmail.com> - 2013-05-27 00:07 -0600
              Re: Solving the problem of mutual recursion Chris Angelico <rosuav@gmail.com> - 2013-05-27 17:37 +1000
          Re: Solving the problem of mutual recursion Ian Kelly <ian.g.kelly@gmail.com> - 2013-05-27 00:19 -0600
          Re: Solving the problem of mutual recursion Ian Kelly <ian.g.kelly@gmail.com> - 2013-05-27 01:04 -0600

csiph-web