So I attempted to measure the memory overhead of a Stackless tasklet, with &#39;Recipe 286222&#39; from ActiveState&#39;s Cookbook:<br>(on Linux 2.6.27-11-generic SMP x86_64)<br><br>def empty(): pass<br>b4 = memory()<br>print &quot;before:&quot;, b4<br>
t = stackless.tasklet(empty)()<br>after = memory()<br>print &quot;after:&quot;, after<br>print &quot;difference:&quot;, memory(b4)<br>
<br>Which yields:<br>    difference: 4096.0<br><br>And a slightly modified version of Peter&#39;s test on my platform:<br><br>collectgarbage&quot;collect&quot;<br>local function F()<br>end<br>before = (collectgarbage&quot;count&quot; * 1024)<br>
local C = coroutine.wrap(F)<br>after = (collectgarbage&quot;count&quot; * 1024)<br>print(after - before)<br><br>Yields:<br>    1280<br><br>But perhaps a more reasonable question is, &quot;how many licks does it take to get to the center of a tootsie roll pop?&quot;<br>
<br><br><div class="gmail_quote">On Fri, Apr 24, 2009 at 9:12 AM, Phoenix Sol <span dir="ltr">&lt;<a href="mailto:phoenix@burninglabs.com">phoenix@burninglabs.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Very nice, thanks Peter!<div><div></div><div class="h5"><br><br><div class="gmail_quote">On Fri, Apr 24, 2009 at 9:08 AM, Peter Cawley <span dir="ltr">&lt;<a href="mailto:lua@corsix.org" target="_blank">lua@corsix.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
A coroutine appears to cost around a kilobyte (20695 - 19601 = 1094 bytes):<br>
<br>
collectgarbage&quot;collect&quot;<br>
print(collectgarbage&quot;count&quot; * 1024) --&gt; 19559<br>
local function F()<br>
end<br>
print(collectgarbage&quot;count&quot; * 1024) --&gt; 19601<br>
local C = coroutine.wrap(F)<br>
print(collectgarbage&quot;count&quot; * 1024) --&gt; 20695<br>
<br>
Test done on Win32/Vista, self-compiled Lua (using Visual Studio<br>
2008), source code executed all-at-once from a file rather than from<br>
an interactive terminal.<br>
<div><div></div><div><br>
On Fri, Apr 24, 2009 at 4:52 PM, Phoenix Sol &lt;<a href="mailto:phoenix@burninglabs.com" target="_blank">phoenix@burninglabs.com</a>&gt; wrote:<br>
&gt; And is there a known overhead for a lua coro? (Maybe it would be more fair<br>
&gt; to compare a tasklet to a &#39;Coco&#39; coroutine... but still I wonder what the<br>
&gt; overhead of wrapping a function with coroutine.wrap() is...)<br>
&gt;<br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>