<br><br><div class="gmail_quote">On Thu, Sep 6, 2012 at 1:30 PM, Benjamin Peterson <span dir="ltr"><<a href="mailto:benjamin@python.org" target="_blank">benjamin@python.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2012/9/6 Timothy Baldridge <<a href="mailto:tbaldridge@gmail.com">tbaldridge@gmail.com</a>>:<br>
<div class="im">> Let's imagine that I have some code like the following in RPython:<br>
><br>
><br>
> def wrapper_func(arg1, arg2):<br>
>     return inner_func(arg2)<br>
><br>
> def inner_func(x):<br>
>    for y in range(x):<br>
>       # do something here<br>
>       pass<br>
>    return -1<br>
><br>
> bigint = 1000000<br>
><br>
> wrapper_func(list(range(bigint)), bigint)<br>
<br>
</div>Since that's all evaluated at import time, I don't see what the problem is.<br>
<span class="HOEnZb"><font color="#888888"><br><br></font></span></blockquote><div><br></div><div>Nice, but that completely missed the point of my question. I know this wouldn't be a problem in this exact case. The question is: when is the GC free to free data passed into a function's arguments. Will that function hold on to all data passed in through arguments until the execution of the function terminates? If so is there a way to trigger garbage collection of unneeded argument data before the end of the function's execution?</div>
<div><br></div><div>Timothy</div></div>