[ previous ] [ next ] [ threads ]
 
 From:  Kris Maglione <bsdaemon at comcast dot net>
 To:  m0n0wall dash dev at lists dot m0n0 dot ch
 Subject:  Re: [m0n0wall-dev] Re: [m0n0wall] Survey results
 Date:  Mon, 31 Oct 2005 23:05:57 -0500
On Mon, Oct 31, 2005 at 08:27:30PM +0100, Manuel Kasper wrote:
>I realize that it's not exactly popular among you, but personally,
>I'd still like to use Java for the core. It's just the simplest
>C-like language, and also much safer than C/C++.
I'd argue that Limbo[1] is the simplest C-like language. In second place, I'd 
probably put D[2]. In fact, I would argue that D is probably the best choice, 
since it's compiled, safe, simple, and ABI compatible with C/C++ libs.

>I haven't actually run any tests with Perl or Python - maybe someone
>could implement a simple XML-RPC server and determine its RSS after a
>request just so we can get a rough idea of their memory requirements?
>I don't know about Python, but I assume that Perl can easily eat away
>several MBs as well.
I'll try to set up a test server with Perl. One thing to remember is that Perl 
can easily act as a web server. It would be able to implement the WebGUI and 
XML-RPC server in the same daemon, thereby lessening the memory constraints a 
bit. It also supports threading. It would only have to fork to spawn a PHP 
process (though I'm still leaning towards Template Toolkit if we go with 
Perl).

Like I mentioned earlier, Webmin, which is fairly bloated, runs on my system 
in less then 4MB when it's idle and doesn't grow to more than 4.5MB when 
answering a request.

>The most efficient solution, and also the most popular one after PHP
>(according to the survey) would be C. It's also the likely choice if
>we can't find any higher-level alternative that suits our needs.
The only problems that I have with C are that it's not OO (I don't strictly 
have a problem with that, but I thought we were leaning towards OO for the 
core) and that C developement tends to be slow compared with languages such as 
Perl/Python/Ruby(/Erlang, which is aparantly great for this kind of 
application, but it's not widely known).

>(although I haven't done much with it yet). OpenBSD's performance is
>still much lower than FreeBSD 4.x
It's been my understanding that OpenBSD's performance is worse than FreeBSD 
5.x, but the only evidence I have at hand is a benchmark against FreeBSD 5.3.  
Also, not to start a holy war, I've read stories of OpenBSD panicing fairly 
often when used as a server... In fact, that's why DJB gave it up in favor of 
FreeBSD (that's fairly significant, considering his reputation for security 
paranoia).

>We'll have to do some prototyping to figure out
>more pros/cons and determine whether some of the proposed products
>are suitable at all. If anybody wants to help with that (i.e.
>evaluating programming languages/toolkits or operating systems for
>their suitability), let me know.
I've been meaning to throw together a basic framework in Perl to serve 
web/XML-RPC, etc. I'd like to see the same things in Ruby/Python, but I don't 
have the experience with them to set it up myself.


[1] http://www.vitanuova.com/inferno/limbo.html
[2] http://www.digitalmars.com/d/

-- 
Kris Maglione

The more directives you issue to solve a problem,
the worse it gets.