Convert a lua table to a C object , and share it among many lua states .
C Lua
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
conf.lua
luaconf.c
test.lua

README.md

What's the lua-conf

lua-conf is a lua library , it can convert a lua table to a constant C object (a lightuserdata). And then you can share it among many lua states .

Why use lua-conf

  1. Reading the constant C object is thread safe , so you can use it in many lua states concurrently.
  2. If you convert a large lua table , it will reduce the memory usage of lua vm . So the garbage collector will run faster (mark less gc objects).
  3. Sometimes you need reload the lua vm , the constant data in the table don't need parser again.

Supported types

The keys must be a 32 bit integer or a string, the values can be boolean, string, number, and table.

How to build

Include the source luaconf.c in your project, or build it as a dynamic library.

gcc -O2 -Wall --shared -o conf.so luaconf.c   #linux
gcc -O2 -Wall --shared -o conf.dll luaconf.c -I/usr/local/include -L/usr/local/bin -llua52 # mingw

How to use

See test.lua

http://blog.codingnow.com/2014/04/lua-conf.html (In Chinese)