Deutsch   English   Français   Italiano  
<uvn6uf$17j5g$4@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Lawrence D'Oliveiro <ldo@nz.invalid>
Newsgroups: comp.os.linux.advocacy
Subject: Re: The Joy of Python
Date: Wed, 17 Apr 2024 00:59:59 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <uvn6uf$17j5g$4@dont-email.me>
References: <17c636a2d6477a17$13590$197378$802601b3@news.usenetexpress.com>
	<661c3aa1$0$2574$426a74cc@news.free.fr> <l82u1gFk5qbU1@mid.individual.net>
	<uvj3qs$8i51$2@dont-email.me> <uvkjht$j1nb$1@dont-email.me>
	<l864uuF5pu5U1@mid.individual.net> <uvlp4f$u64i$1@dont-email.me>
	<l87v41Fe10mU3@mid.individual.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 17 Apr 2024 03:00:00 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="eab0799947e46f7ee0d29068ff6512f6";
	logging-data="1297584"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+kGhpBtr5PvFh6RQePQvsL"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:YcLO71aC8HTnYOZY687VV6NcaxI=
Bytes: 2100

On 16 Apr 2024 18:42:09 GMT, rbowman wrote:

> Of course reference counting never ever goes wrong.

I think the term is “ORC”, for “cycles + reference counting”. Both Perl 
and Python do it. The idea is to do reference counting as far as possible, 
and only fall back to full-on garbage collection when you hit cases that 
need it.

This way, it is fairly easy to write a well-behaved Python program whose 
memory usage will stay within reasonable bounds, even after running for a 
long time. Unlike Java, for example, which will happily chew up all the 
RAM on your system if you let it.

There is a downside, in that maintaining those reference counts reduces 
the concurrency when trying to do multithreading. The Python folks have a 
solution to that, which will take a bit of work to do correctly, but which 
is slowly going in.