Joannah Nanjekye <nanjekyejoan...@gmail.com> added the comment:

>5 bit *per object* is a lot because it scales with the number of objects. It 
>will quickly obliterate >any gain that we get from some objects being 
>deallocated sooner (which is what we are trying >to achieve). Using 
>inter-generations has a constant cost that is negligible. 

I agree but this may not require us falling back to a two word header per 
object as was the original worry. If it is a worse tradeoff to managing steps 
then I would suggest to stick to the steps. Again in the end it is about what 
tradeoffs are willing to work with.

 >I am not sure what you mean with "changing the age >threshold for objects 
 >looks simpler than >creating and managing steps". If you mean changing >the 
 >generational threshold, I think that >does not fix the problem as it only 
 >delays or speeds up >collections but the problem is >scale-invariant with the 
 >number of objects.

I meant that for any need for increase in promotion delay, we need to add a 
step and manage it which is more complex than for example when tracking ages, 
incase of a change we only change the age threshold which looks simpler to 
implement.

>I will propose maybe to only do sub-steps for the first generation (as many 
>papers suggest >that is where the bigger gains are).

Correct, since the premise is we just want to delay promotion of young objects 
to an older generation so that they have enough time to die. The steps should 
reasonably be in the first generation.

How many semi-spaces do you think of having in this generation? Most systems 
have and recommend two.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue39143>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to