首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Inno安装程序中,v6.2不使用整个CPU性能

在Inno安装程序中,v6.2不使用整个CPU性能
EN

Stack Overflow用户
提问于 2022-07-07 08:20:38
回答 1查看 135关注 0票数 1

我有很多文件要压缩(22K @31.5GB),然后通过Inno安装程序解压(安装)它们。我当前的[Setup]配置是:

代码语言:javascript
复制
LZMANumBlockThreads=6
LZMADictionarySize=1048576    // doesn't affect the installation performance
LZMANumFastBytes=273    // doesn't affect the installation performance
CompressionThreads=auto
DisableReadyPage=True
InternalCompressLevel=max
SolidCompression=no    // 'yes' causes out of memory error due to overloading 16 GB of RAM
Compression=lzma2/ultra64

安装性能中存在问题。我看到,在48个可用CPU线程中,只有3-4个线程被完全加载,解压缩过程似乎比我的2* Xeons上的进程慢得多。NVMe SSD只使用其性能的2-4% .

我的同事们用不同的PC配置注意到了同样的问题。

如何绕过这一瓶颈,对Inno说:使用每个可用的CPU线程并更快地解压缩我的文件?

P.S.尝试了不同的描述:https://github.com/teeks99/inno-test,但没有得到任何可应用的结果。正如我所看到的,我需要对islzma64.exe做一些事情,但是它没有任何来源--即使在那里,https://github.com/jrsoftware/issrc/tree/main/Files也是一个没有任何文档的坚实的可执行文件。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-07-09 15:55:36

试着添加

代码语言:javascript
复制
[setup]
LZMAUseSeparateProcess=yes

LZMAUseSeparateProcess描述

另外,当您使用solidcompression=no时,1 file =1 solidblock ~= dict大小,所以您有大约22k的solid块,从1(几个)实体块进行的分解应该比从数千个实体块中的解压缩要快。我认为,实心压缩和LZMADictionarySize=1048576是最好的变体,lzma2也有分配内存的限制(大约是“16 GB内存超载导致内存不足”),不确定在inno中修改了多少。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72894497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档