• Stars
    star
    101
  • Rank 338,166 (Top 7 %)
  • Language
    C
  • License
    Apache License 2.0
  • Created about 12 years ago
  • Updated about 12 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Levitate your app with Lev!

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.