[Top] / [eMule] / [light]

MetMedic
eMule cleanup
eMule Light

0.29a Light.2
0.29b Light.3
0.29c Light.6

 

Current End-user Release Is 0.29c Light.6

Current developer release is 0.29c Light.7

Background information

eMule has in time grown to contain lots of features. Many of these features are unused by the majority of users, but still continues to claim resources, whether memory, CPU cycles, or something else. The trend in development is more focused on adding new features than optimizing the program for minimal resource use.

Of course considering that most of the high resource use cases show only with large numbers, whether in files shared, files being downloaded, concurrent upload slots, queue length, or something else, many developers won't see them causing high resource use. Nothing wrong with that as such, but it means that someone who does see the resource use problems needs to address the problems.

Project goals

The goal of eMule Light project is to remove all such functionality that is not essential for basic use. End result should thus be a version of eMule that can download, upload, list current downloads and uploads, as well as shared files, known clients, and statistics. Examples of features I'm hoping to remove are IRC client and remote management webserver.

Additional goal for me is to also remove download capability, producing a very lightweight version suited for releasers as pure release upload install.

Development conventions

All changes are made in such way that you can still compile the normal mule. I wrap my changes in #ifdef ... #endif, and add new build configurations to build light-mule.