[icinga-devel] RFC: Drop ePN in favour of LUA

Sascha.Runschke at gfkl.com Sascha.Runschke at gfkl.com
Thu May 14 11:41:15 CEST 2009


Greetings!

We all know that ePN is major PITA and the reason for many, many problems.
The ePN code base seems to be not well maintained and Nag^H^H^HIcinga
suffers from it.

So I say: drop ePN completely instead of trying to fix it.
Instead implement LUA and experience what _real_ speed is ;)

Some people might have heard about LUA, since it is quite popular nowadays
in many computer games. Global players like "World of Warcraft", "Crysis",
"Heroes of Might & Magic" and others use it for scripting the 
configuration of
their interface for example.

For those not familiar with LUA , let me state some facts:

LUA was created with the background to create an integrated script 
interpreter
for use in other programs - even though by now there are stand-alone 
compiler
available. Since it's no script language which has been adopted for 
interprogram-use,
but instead it was designed to only be run inside other programs context, 
it fits
itself perfectly into such situations by design.

Quote from the website lua.org:

"Lua is implemented in pure ANSI C and compiles unmodified in all known
platforms. All you need to build Lua is an ANSI C compiler (gcc is a 
popular one).
Lua also compiles cleanly as C++. 

If you are building Lua in a Unix system (like Linux or Mac OS X), then 
you
probably already have everything you need and simply typing make should do
it. (You'll only have to choose a suitable platform.) "

Pros:

- It works like a charm out of the box, on every platform you can think 
of.
- It is very easy to learn (it actually took me 1 day ;)).
- It's fast like hell.
- It's easy to extend with self-made libraries.
- It's easy to maintain due to full automatic garbage collection of all 
structures.
- The LUA interpreter is extremely compact - only 120K in memory

Cons:

- people would have to adopt to LUA first before starting to write scripts

Last but not least it's just another method of running check scripts, but 
then it's
just not yet another possibility, it's the one with the best performance 
by far
compared to others, both in regard to speed and memory usage.

I'm curious about other peoples opinions.

Regards
        Sascha



GFKL Financial Services AG
Vorstand: Dr. Peter Jänsch (Vors.), Jürgen Baltes, Dr. Tom Haverkamp
Vorsitzender des Aufsichtsrats: Dr. Georg F. Thoma
Sitz: Limbecker Platz 1, 45127 Essen, Amtsgericht Essen, HRB 13522




More information about the icinga-devel mailing list