[mnet-devel] Status Report: FEC [resend]
Zooko
zooko at zooko.com
Wed Jul 23 21:46:06 BST 2003
------- Forwarded Message
Date: Wed, 23 Jul 2003 16:09:26 -0400
From: icepick <icepick at icepick.info>
To: mnet-devel at lists.sourceforge.net
Subject: Status Report: FEC [resend]
Monday I spent the day working mostly on fecmodule.c. There were some
definate problem with it that didn't come up until it was tested on W32.
I had copied the C struct from mmapmodule, thinking it would be some what
safe (all the C hackers are laughing right now ... I can hear them).
So a better answer, and the one I implemented, was to copy mmapmodule.c
from the python source, and hack it to expose a pointer to the mmap
memory area as a PyCObject. This works quite well.
I also reworked fecmodule.c to follow the Python 2.3 "Extending and
Embedding" [1] docs on how to create a module with a new style Type/Class.
Unit tests for FEC pass on Linux, W32 (mingw), and Mac OS X (thanks to
Artimage).
Also ash at ash.de reported a memory leak in FEC while encoding. This
turned out to be a feature with the unit test he was profiling. The
unit test was encoding a file and storing the encoded packets in a
python list, then throwing away random packets and then decoding.
Running this test on a large file caused the list of packets to exheed
the amount of RAM he had and BOOM. I have another test I wrote, and
while encoding the RAM usage didn't budge.
One problem we have is when encoding packet who's index is over 'k' the
software has to read the whole file to generate 1 packet. It looks like
a swap thrash. I will outline an idea for improving this in another email.
1 - http://www.python.org/doc/2.3c1/ext/ext.html
icepick
------- End of Forwarded Message
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
mnet-devel mailing list
mnet-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mnet-devel
More information about the Mnet-devel
mailing list