Software /
code /
prosody
Annotate
util-src/table.c @ 6610:7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 31 Mar 2015 11:59:17 +0100 |
child | 6615:8e4572a642cb |
rev | line source |
---|---|
6610
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 #include <lua.h> |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 #include <lauxlib.h> |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 static int Lcreate_table(lua_State* L) { |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 lua_createtable(L, luaL_checkinteger(L, 1), luaL_checkinteger(L, 2)); |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 return 1; |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 } |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 int luaopen_util_table(lua_State *L) { |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 lua_newtable(L); |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 lua_pushcfunction(L, Lcreate_table); |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 lua_setfield(L, -2, "create"); |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 return 1; |
7c4cf87f4dff
util.table, Makefile: New C module that allows pre-allocation of tables to improve performance and decrease memory fragmentation
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 } |