减小Lua的二进制体积
Lua本身已经是一个十分轻量级的脚本语言。在我的64位Windows上编译出来的lua53.dll
仅248K。(参照物:python34.dll
为3963K。)
Lua Technical Note 1介绍了通过删减功能来进一步减小Lua的二进制体积的方法。这篇文章针对的是Lua 3.2,16年前的版本,尽管如此,它仍然给了我很大的启发。
首先看Lua 5.3中哪些模块占用的二进制体积最多:
size %all %core file
23571 7% 12% lauxlib.o
20909 6% 11% lparser.o
20256 6% 11% lapi.o
18403 5% 10% lvm.o
14413 4% 8% llex.o
13526 4% 7% lcode.o
12584 4% 7% lgc.o
10214 3% 5% ldebug.o
8967 3% 5% lobject.o
8776 2% 5% ldo.o
7002 2% 4% ltable.o
5087 1% 3% lundump.o
4887 1% 3% lstate.o
3970 1% 2% ltm.o
3832 1% 2% ldump.o
2818 1% 1% lstring.o
2525 1% 1% lfunc.o
2170 1% 1% linit.o
1810 1% 1% lopcodes.o
1498 0% 1% lmem.o
1406 0% 1% lzio.o
860 0% 0% lctype.o
189484 54% 100% (core)
继续阅读 →