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


Groups > comp.lang.python > #89812

Re: Inner workings of this Python feature: Can a Python data structure reference itself?

Date 2015-05-03 00:07 +0100
From MRAB <python@mrabarnett.plus.com>
Subject Re: Inner workings of this Python feature: Can a Python data structure reference itself?
References <387ac520-9da3-411a-a3b8-b326e1e8a2c0@googlegroups.com> <mailman.26.1430597813.12865.python-list@python.org> <87a8xmn0yp.fsf@Equus.decebal.nl>
Newsgroups comp.lang.python
Message-ID <mailman.33.1430608033.12865.python-list@python.org> (permalink)

Show all headers | View raw


On 2015-05-02 22:06, Cecil Westerhof wrote:
> Op Saturday 2 May 2015 22:17 CEST schreef Tim Chase:
>
>> [dangit, had Control down when I hit <enter> and it sent
>> prematurely]
>>
>> On 2015-05-02 13:02, vasudevram wrote:
>>> http://jugad2.blogspot.in/2015/05/can-python-data-structure-reference.html
>>>
>>> https://docs.python.org/2/reference/datamodel.html
>>>
>>> and saw this excerpt:
>>>
>>> [ CPython implementation detail: CPython currently uses a
>>> reference-counting scheme with (optional) delayed
>>> detection of cyclically linked garbage, which collects
>>> most objects as soon as they become unreachable, but is
>>> not guaranteed to collect garbage containing circular
>>> references. ]
>>>
>>> Not sure whether it is relevant to the topic at hand,
>>> since, on the one hand, it uses the words "cyclically
>>> linked", but on the other, it says "garbage collection".
>>
>> The gotcha happens in a case where you do something like this:
>>
>> lst = []
>> lst.append(lst)  # create a cycle
>> del lst
>>
>> This creates a cycle, then makes it unreachable, but the list is
>> still referenced by itself, so the reference count never drops to
>> zero (where it would get GC'd), and thus that item lingers around in
>> memory.
>
> Maybe look at Java? If my memory is correct, the JVM gc reclaims those
> kind of things also.
>
Python _does_ have a secondary mechanism for cleaning up such reference
cycles using mark-and-sweep:

https://docs.python.org/3/reference/datamodel.html

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


Thread

Inner workings of this Python feature: Can a Python data structure reference itself? vasudevram <vasudevram@gmail.com> - 2015-05-02 13:02 -0700
  Re: Inner workings of this Python feature: Can a Python data structure reference itself? Tim Chase <python.list@tim.thechases.com> - 2015-05-02 15:17 -0500
    Re: Inner workings of this Python feature: Can a Python data structure reference itself? vasudevram <vasudevram@gmail.com> - 2015-05-02 14:07 -0700
    Re: Inner workings of this Python feature: Can a Python data structure reference itself? Cecil Westerhof <Cecil@decebal.nl> - 2015-05-02 23:06 +0200
      Re: Inner workings of this Python feature: Can a Python data structure reference itself? MRAB <python@mrabarnett.plus.com> - 2015-05-03 00:07 +0100
      Re: Inner workings of this Python feature: Can a Python data structure reference itself? Tim Chase <python.list@tim.thechases.com> - 2015-05-02 20:57 -0500
      Re: Inner workings of this Python feature: Can a Python data structure reference itself? Ian Kelly <ian.g.kelly@gmail.com> - 2015-05-02 22:29 -0600
  Re: Inner workings of this Python feature: Can a Python data structure reference itself? Tim Chase <python.list@tim.thechases.com> - 2015-05-02 15:10 -0500
  Re: Inner workings of this Python feature: Can a Python data structure reference itself? Terry Reedy <tjreedy@udel.edu> - 2015-05-02 19:17 -0400
    Re: Inner workings of this Python feature: Can a Python data structure reference itself? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-05-03 21:10 +1000
    Re: Inner workings of this Python feature: Can a Python data structure reference itself? vasudevram <vasudevram@gmail.com> - 2015-05-03 05:59 -0700
      Re: Inner workings of this Python feature: Can a Python data structure reference itself? vasudevram <vasudevram@gmail.com> - 2015-05-03 06:05 -0700
      Re: Inner workings of this Python feature: Can a Python data structure reference itself? Chris Angelico <rosuav@gmail.com> - 2015-05-03 23:08 +1000
        Re: Inner workings of this Python feature: Can a Python data structure reference itself? vasudevram <vasudevram@gmail.com> - 2015-05-03 08:46 -0700
  Re: Inner workings of this Python feature: Can a Python data structure reference itself? Ian Kelly <ian.g.kelly@gmail.com> - 2015-05-02 22:43 -0600
  Re: Inner workings of this Python feature: Can a Python data structure reference itself? Chris Angelico <rosuav@gmail.com> - 2015-05-03 15:46 +1000
  Re: Inner workings of this Python feature: Can a Python data structure reference itself? vasudevram <vasudevram@gmail.com> - 2015-05-03 03:52 -0700

csiph-web