Просмотр исходного кода

update: 在加载内置库和require前后执行gc,对内存消耗进行削峰

Wendal Chen 2 лет назад
Родитель
Сommit
cf185025f5
2 измененных файлов с 3 добавлено и 1 удалено
  1. 2 0
      lua/src/loadlib.c
  2. 1 1
      luat/modules/luat_main.c

+ 2 - 0
lua/src/loadlib.c

@@ -173,9 +173,11 @@ int ll_require (lua_State *L) {
   if (searcher_Lua(L) == 2) {
     //luat_os_print_heapinfo("go-call");
     //LLOGD("module %s , found OK!!!",name);
+    lua_gc(L, LUA_GCCOLLECT, 0);
     lua_pushstring(L, name);
     lua_call(L, 2, 1);
     //luat_os_print_heapinfo("after-call");
+    lua_gc(L, LUA_GCCOLLECT, 0);
   }
   else {
     luaL_error(L, "module '%s' not found", name);

+ 1 - 1
luat/modules/luat_main.c

@@ -77,7 +77,7 @@ static int pmain(lua_State *L) {
 
     // 加载内置库
     luat_openlibs(L);
-
+    lua_gc(L, LUA_GCCOLLECT, 0);
     luat_os_print_heapinfo("loadlibs");
 
     lua_gc(L, LUA_GCSETPAUSE, 90); // 设置`垃圾收集器间歇率`要低于100%