[Stackless] lua vs. stackless python

Phoenix Sol phoenix at burninglabs.com
Fri Apr 24 19:18:03 CEST 2009


So I attempted to measure the memory overhead of a Stackless tasklet, with
'Recipe 286222' from ActiveState's Cookbook:
(on Linux 2.6.27-11-generic SMP x86_64)

def empty(): pass
b4 = memory()
print "before:", b4
t = stackless.tasklet(empty)()
after = memory()
print "after:", after
print "difference:", memory(b4)

Which yields:
    difference: 4096.0

And a slightly modified version of Peter's test on my platform:

collectgarbage"collect"
local function F()
end
before = (collectgarbage"count" * 1024)
local C = coroutine.wrap(F)
after = (collectgarbage"count" * 1024)
print(after - before)

Yields:
    1280

But perhaps a more reasonable question is, "how many licks does it take to
get to the center of a tootsie roll pop?"


On Fri, Apr 24, 2009 at 9:12 AM, Phoenix Sol <phoenix at burninglabs.com>wrote:

> Very nice, thanks Peter!
>
>
> On Fri, Apr 24, 2009 at 9:08 AM, Peter Cawley <lua at corsix.org> wrote:
>
>> A coroutine appears to cost around a kilobyte (20695 - 19601 = 1094
>> bytes):
>>
>> collectgarbage"collect"
>> print(collectgarbage"count" * 1024) --> 19559
>> local function F()
>> end
>> print(collectgarbage"count" * 1024) --> 19601
>> local C = coroutine.wrap(F)
>> print(collectgarbage"count" * 1024) --> 20695
>>
>> Test done on Win32/Vista, self-compiled Lua (using Visual Studio
>> 2008), source code executed all-at-once from a file rather than from
>> an interactive terminal.
>>
>> On Fri, Apr 24, 2009 at 4:52 PM, Phoenix Sol <phoenix at burninglabs.com>
>> wrote:
>> > And is there a known overhead for a lua coro? (Maybe it would be more
>> fair
>> > to compare a tasklet to a 'Coco' coroutine... but still I wonder what
>> the
>> > overhead of wrapping a function with coroutine.wrap() is...)
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.stackless.com/pipermail/stackless/attachments/20090424/09d6c15f/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: measure_tasklet.py
Type: text/x-python
Size: 1143 bytes
Desc: not available
URL: <http://www.stackless.com/pipermail/stackless/attachments/20090424/09d6c15f/attachment.py>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: measure_coro.lua
Type: text/x-lua
Size: 165 bytes
Desc: not available
URL: <http://www.stackless.com/pipermail/stackless/attachments/20090424/09d6c15f/attachment.bin>


More information about the Stackless mailing list