加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – v8_base.lib(作为node.js的一部分编译)是huuuuge.为

发布时间:2020-12-14 05:25:53 所属栏目:Windows 来源:网络整理
导读:在做vcbuild.bat发布时,我会得到一个像这样的lib目录: $ls -1Ssh Release/lib/total 303M263M v8_base.lib 22M openssl.lib7.2M v8_snapshot.lib6.2M v8_nosnapshot.lib4.8M uv.lib480K zlib.lib 88K http_parser.lib 调试要好得多,但仍然: $ls -1Ssh Debu
在做vcbuild.bat发布时,我会得到一个像这样的lib目录:

$ls -1Ssh Release/lib/
total 303M
263M v8_base.lib
 22M openssl.lib
7.2M v8_snapshot.lib
6.2M v8_nosnapshot.lib
4.8M uv.lib
480K zlib.lib
 88K http_parser.lib

调试要好得多,但仍然:

$ls -1Ssh Debug/lib/
total 102M
 83M v8_base.lib
 14M openssl.lib
2.1M uv.lib
1.6M v8_snapshot.lib
1.3M v8_nosnapshot.lib
352K zlib.lib
 80K http_parser.lib

我不明白这两件事:

>为什么v8这么大?
>为什么Debug构建会产生更小的lib文件?

我在Windows 7 64bit上.

编辑我只是发现默认的target_arch是ia32,而不是x64,无论主机是什么架构.所以上面的数字指的是32位版本. 64位数字稍大(309M / 128M).

解决方法

Why is v8 THIS big?

是因为它的依赖性和特征?喜欢:

$ls -1Ssh Release/obj/v8_base/|head -15
total 264M
5.1M hydrogen.obj
4.7M objects.obj
4.6M lithium-codegen-ia32.obj
4.4M lithium-ia32.obj
4.3M runtime.obj
4.3M hydrogen-instructions.obj
4.2M lithium-allocator.obj
4.1M lithium-gap-resolver-ia32.obj
3.7M compiler.obj
3.7M isolate.obj
3.5M v8.obj
3.4M lithium.obj
3.3M heap.obj
3.3M api.obj

不过,看起来有点大……

Why does a Debug build yield much smaller lib files?

这可能是我在common.gypi找到的速度优化吗?

'Release': {
    ...
    'msvs_settings': {
      'VCCLCompilerTool': {
        'RuntimeLibrary': 0,# static release
        'Optimization': 3,# /Ox,full optimization
        'FavorSizeOrSpeed': 1,# /Ot,favour speed over size
        'InlineFunctionExpansion': 2,# /Ob2,inline anything eligible

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读