A lean, mean, Wombat
Brian McCallister gave a talk on mod_wombat at ApacheCon:
I got really tired of cases where apache comes >< close to exactly what I want. mod_rewrite not enough, mod_perl too… heavy and perlish, mod_ruby… no threads, mod_python, GiL and HUGE memory footprint. Need a really small, actual language, which you can do little, fast, efficient modules in.
Often slides are useless unless you are there, but Brian has annotated his nicely. I just got told that a recent deck of mine was very “Eno”, and definitely made no sense at all. It would be kinda fun to have done slideshow karaoke with that deck.
Oh, and Brian would use Lua wouldn’t he :)
November 15th, 2007 at 1:35 pm
Of course!
November 15th, 2007 at 3:26 pm
The GIL being a problem in Python is not the big issue that people make out it is, at least in relation to solutions which embed Python into Apache. This is because Apache is a multi process web server, thus you aren’t constrained by your application running in a single process and therefore only one of possibly multiple CPUs and/or cores. Further there is a lot going on in Apache which isn’t being done in C code and so the GIL doesn’t even come into the equation. For more details see ‘http://blog.dscpl.com.au/2007/09/parallel-python-discussion-and-modwsgi.html’.
In respect of memory bloat when using mod_python, part of this is because of mod_python importing extra Python modules it doesn’t need to, but the main reason behind the high initial memory size is because of poorly installed Python installations. In particular, if your Python installation doesn’t include a shared library, with it being linked into the correct location, the mod_python build procedure is forced to use the static Python library and incorporate it into mod_python module itself. Because the code isn’t position independent, when loaded address relocations have to be done and instead of the module being shared it turns into process private memory. Thus you loose the benefit of the module being dynamically loaded and shareable.
It is a bit disappointing that people continue to propagate these half truths. :-(
November 15th, 2007 at 4:02 pm
Whoops, that should have been ‘Further there is a lot going on in Apache which isn’t being done in Python code and so the GIL doesn’t even come into the equation.’
June 29th, 2008 at 11:44 pm
thanks