diff options
author | Matthew Wild <mwild1@gmail.com> | 2015-03-31 11:59:17 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2015-03-31 11:59:17 +0100 |
commit | f9a6cc2cc9905059ff76fe95e07d0810840028a6 (patch) | |
tree | f6e013ea0e4bb55e0add40e072f40ebc4c2825bc | |
parent | 2f531bc782386106af9c8f297594a13c81ae660c (diff) | |
download | prosody-f9a6cc2cc9905059ff76fe95e07d0810840028a6.tar.gz prosody-f9a6cc2cc9905059ff76fe95e07d0810840028a6.zip |
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
-rw-r--r-- | util-src/Makefile | 4 | ||||
-rw-r--r-- | util-src/table.c | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/util-src/Makefile b/util-src/Makefile index 3a1ba3f2..3674975c 100644 --- a/util-src/Makefile +++ b/util-src/Makefile @@ -14,9 +14,9 @@ CFLAGS+=-ggdb .PHONY: all install clean .SUFFIXES: .c .o .so -all: encodings.so hashes.so net.so pposix.so signal.so +all: encodings.so hashes.so net.so pposix.so signal.so table.so -install: encodings.so hashes.so net.so pposix.so signal.so +install: encodings.so hashes.so net.so pposix.so signal.so table.so install *.so ../util/ clean: diff --git a/util-src/table.c b/util-src/table.c new file mode 100644 index 00000000..118ee334 --- /dev/null +++ b/util-src/table.c @@ -0,0 +1,14 @@ +#include <lua.h> +#include <lauxlib.h> + +static int Lcreate_table(lua_State* L) { + lua_createtable(L, luaL_checkinteger(L, 1), luaL_checkinteger(L, 2)); + return 1; +} + +int luaopen_util_table(lua_State *L) { + lua_newtable(L); + lua_pushcfunction(L, Lcreate_table); + lua_setfield(L, -2, "create"); + return 1; +} |