Wednesday, June 3, 2015

Why are we going to 2.0 ? Third post

I have another cookie to share with you about the advantages that are coming with the rewrite of a second version of Netsukuku.
The modularization work has brought the code to a point where the critical sections about multithreading have been refactored. Without going through too deep details, this has to do with the fact that Netsukuku code makes use of lightweight collaborative threads (also known as microthreads or tasklets).

The old implementation in python was using Stackless Python for this. The new one in Vala is using GNU Pth.

The good news is that this modularization work is going to make it easy to plug in another implementation of a "tasklet" system.

This is good because GNU Pth poses some problems. For instance it is common in a glibc-based operating system, such as most Linux distributions. But it has problems with a uClibc-based system, such as default builds of OpenWRT. Furthermore it's not on Windows.

Hence, next version of Netsukuku will be more easy to port to Windows.