[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Pure Lua HTTP Parser
- From: Tom <tom.wieland@...>
- Date: Thu, 22 Mar 2012 13:14:06 +0100
I think the up and coming Luvit should also have a menition here;
http://luvit.io/
On Thu, Mar 22, 2012 at 1:10 PM, Robert G. Jakabosky
<bobby@sharedrealm.com> wrote:
> On Sunday 18, Gerry Weaver wrote:
>> Hello All,
>>
>>
>> I'm looking at rewriting a web application server framework that I wrote in
>> C a few years ago in Lua (as much as possible). It's basically a framework
>> for testing various web server designs (ie; evented, threaded, pipeline,
>> app specific etc.) I'm trying to decide if I should write the request
>> parser in pure Lua or do an ffi binding to the C code. I've read about
>> instances where pure Lua can actually offer a performance benefit over the
>> Lua/C combination. Has anyone had any experiences where a comparison could
>> be made between the two approaches? It would take some time to create a
>> reasonable test, so I was hoping for some advice on how to proceed.
>> Performance in this case is pretty important, so I would probably go with
>> the approach fills that requirement best. The overall goal is to make
>> writing test designs quicker and easier.
>
> It would be hard for a pure Lua parser to out perform a parser written in C
> like the one used in nodejs [1].
>
> There is a HTTP parser [2] for Lua that has good performance it uses the same
> C HTTP parser as nodejs does.
>
> There is also a HTTP server module in my lua-handlers [3] which uses an event
> loop (lua-ev [4]) to handle many concurrent connections. I have done test
> with more then 50,000 concurrent connections and am working on improving the
> performance even more. I hope to release a new version of lua-handlers with
> some new features in the next week or two.
>
> 1. https://github.com/joyent/http-parser
> 2. https://github.com/brimworks/lua-http-parser
> 3. https://github.com/Neopallium/lua-handlers
> 4. https://github.com/brimworks/lua-ev
>
> --
> Robert G. Jakabosky
>