You might actually be better off with an embedded/low footprint VM? Some of 
them are very efficient on memory usage, and the hard stuff is mostly done 
via JNI or via system libraries which hopefully have optimised code. Although 
the CPU is likely to be quite a lot slower than we're used to...

You should seriously consider an alternative datastore implementation, but I 
dunno what. And the global queue will be a big problem - right now our memory 
usage increases linearly with the number of queued keys (with a bigger factor 
for inserts than for requests). Obviously this is something we'd like to fix 
at some point (likely using a database), but it's going to be a fair amount 
of work - it could be done in a good SoC project. (I don't suppose you're 
eligible to be a Google Summer of Code student...?)

However, if we're talking about a box with a 200MHz+ CPU and 512M of RAM 
(maybe down to 128M with no queue, lightweight browser etc), and if we have 
optimised FEC libraries, it should be possible. But it'll probably never run 
on e.g. a Linksys WRT54G (16M RAM in recent models iirc).

PS it's SVN not CVS. Any changes for GCJ support that aren't too ugly should 
be merged with trunk - email me if you want SVN commit access, include 
username, password, etc. Major changes should go on a branch until 0.7.0 
ships. Bundling a README or scripts for building with GCJ is a good idea, but 
iirc there are some biggish bugs to work out still (try running a GCJ-built 
node).

No idea re ifdef's, certainly there's no built in support for this.

On Tuesday 11 March 2008 18:53, Sven-Ola T?cke wrote:
> Hey,
> 
> completed my next step - which is a binary-only freenet compiled for i386. 
> Looks like that it's running - whith some complaints of not having the 
> wrapper and cannot autoupgrade etc. Maybe threading has issues.
> 
> The resulting binaries are a bit large (8 Mb program and 8 Mb shared lib 
plus 
> the ubiquitous libgjc with ~80 Mb). I've also tried to link static against 
> libgcj.a - but that fails (maybe because I've grabbed an unsigned binary 
from 
> a french linux called mandriva - ubuntu does not offer libgcj.a). This one 
> looks also promising: http://ulibgcj.sourceforge.net/ but may require a 
> change from JNI to CNI. 
> 
> I order to compile for mips, I have to refresh my mips-GCC/GCJ (recompiling 
> now for 2 days - still running, those embedded boxes are not too fast)... 
> 
> Please mind: 
> 
http://download-master.berlin.freifunk.net/sven-ola/freenet/readme-compile.txt
> 
> P.S. While I'm not a Java expert - for unbloating software, normally an 
#ifdef 
> is a good thing [tm]. Any analog contructs with this funny language?
> 
> // Sven-Ola
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20080311/770c6348/attachment.pgp>

Reply via email to