connectFree / lev

Levitate your app with Lev!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome to lev -- Lua for Event-Based IO

lev is everything great about Node, without the "BS" of JS.
kristopher tate, lev founder

Here are some initial reasons to jump on board:

lev is faster than node, python, ruby and many others.

why: lev can easily reach over 10,000 requests per core per machine and scales near-linearly
how: lev allows developers to work with IO streams without the raw data ever touching the VM. A special slab allocator and trash-stack handles memory availability while our cBuffer object integrates nicely with the VM. Multi CPU/Core support is built-in from the start.

lev uses less memory than node, python, ruby and many others.

why: At start-up, lev only allocates around 2MB and after benchmarking HTTP a little over 3MB
how: lev is based on the very compact Lua language. A special Buffer object was also written in C to help quickly allocate and work with streams.

lev makes integrating great C-Libraries a breeze!

why: lev is based on Lua which has a very simple and compact C ABI
how: Use FFI or write a wrapper in C. Porting to lev should be simpler than others such as python, node or ruby.

Join us on IRC at #levdev on freenode.net

Building from git

Grab a copy of the source code:

git clone https://github.com/connectFree/lev.git --recursive

To use the Makefile build system (for embedded systems without python) run:

cd lev
CC=gcc make
make test
./build/lev

To install with the Makefile build system run:

sudo make install

Note: Travis CI uses the Makefile build system. So please make sure that it builds OK with the Makefile build system before sending pull requests.

About

Levitate your app with Lev!

License:Apache License 2.0


Languages

Language:C 61.5%Language:Lua 34.3%Language:JavaScript 4.2%