A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2010-December/106389.html below:

[Python-Dev] gc ideas -- dynamic profiling

[Python-Dev] gc ideas -- dynamic profiling"Martin v. Löwis" martin at v.loewis.de
Sat Dec 4 00:21:52 CET 2010
> q1 are generations placed in separate memory regions, or are all
> generations in one memory regions and there is a pointer that
> signifies the boundary between generations?

You should really start reading the source code. See Modules/gcmodule.c.

To answer your question: neither, nor. All objects are in one region,
and there is no pointer separating the generations. Instead, all objects
belonging to one generation form a double-linked list.

> I propose to track hot spots in python, that is contexts where most of
> allocations occur, and instrument these with counters that essentially
> tell how often an object generated here ends up killed in ephemeral,
> short-, long-lived garbage collector run or is in fac tstill alive. If
> a particular allocation context creates objects that are likely to be
> long-lived, allocator could skip frst 2 generations altogether
> (generations are separate regions) or preload the object with high
> survival count (if q1 is single region).

We would consider such a proposal only if you had *actual evidence*
that it improves things, rather than just having a reasoning that it
might.

Regards,
Martin
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4