KEIL 5编译龟速如何解决?
新电脑,WIN7,E5-2630的处理器,由于原系统崩溃忘记备份,重装系统后,安装好KEIL5发现编译速度特慢,大概编译一个工程要6分钟之久,重装系统前大概只需1分钟左右,请问有没有遇到过同样的问题的,怎么解决的? 换IAR 换IAR Halley 发表于 2017-3-6 11:06换IAR 换IAR
换编译器代价太大,再说周围的同事都用的KEIL,团队合作不便 换固态硬盘 是否每次编译都全部编译了啊? 开并行编译,换固态硬盘 加个SSD吧,速度会快 多大的项目,KEIL目前没见过这么久的,除了之前单位有加密软件,每次都相当于加密再编译
超慢的……
我认为你电脑哪个东西安得不对吧,建议系统重装……说说而已,IT解决之最终手段 同时有MDK 和 IAR,以前不觉得,STM32F7的程序大一些,结果差距几倍啊,难道也是我设置问题? 太久了, 是不是所有的库外设都全开? 内存够大的话可以考虑搞个ramdisk ,在内存中编译链接,速度超快,还不磨损硬盘,缺点是怕停电,因此最好用在笔记本上,另外就是关机之前一定要记得把文件拷到硬盘上。 换IAR 换IAR 换IAR 这个CPU主频有点低,如果KEIL是只用一个核心编译的话速度会很慢。就像altium designer一样,画PCB特卡 记得有个选项是编译时开不开跳转信息,那个取消了编译也会快一点。
取消了之后,没办法通过F11跳转到函数所在位置~ 里面有个跨模块优化,去掉那个勾,就和keil4一样快了 看起来E5至强CPU代替keil5全部性能也难 去勾生成brown info 去勾生成brown info 说来也奇怪,之前公司同事的也慢,昨天下午大家突然都好了,真是怪事!感谢各位 如果还是闲慢,就直接换天河二号来编译吧!~
现在的KEIL 5都能把CPU 4个线程都跑到100%了,不过速度还是慢,试着把杀病毒软件给关掉,情况是好了一些。 4个线程都不满足,下次想整个AMD的8核16线程玩玩{:titter:} 本帖最后由 hpdell 于 2017-10-5 22:29 编辑
是如何解决的,我也是遇到跟你一样的问题,
我的 cpu 是 E5-2670 C2
电脑内存 32G , 250G的三星ssd硬盘,
现在只要使用keil进行编译工程,电脑的cpu风扇会转的飞快飞快飞快飞快飞快飞快飞快飞快飞快飞快飞快飞快飞快飞快飞快飞快飞快飞快,有时也担心会吧电脑的cpu烧掉哟,{:lol:}
如果使用 iar 编译同一个工程,电脑cpu完全没有任何压力,编译速度很快
感觉这个编译时,跟固态硬盘或者是机械硬盘的关系不大,主要还是keil 没有完全利用电脑cpu的原因吧,目前也不知道有什么好的解决办法 ?????????? 本帖最后由 Gorgon_Meducer 于 2017-10-6 17:22 编辑
你是什么license 类型?如果是floating licence或者是Flex的,这类问题可能是由于网络设置不对导致的。
你说某天大家突然都好了,这给我感觉你是floating license,然后突然某天,你们的局域网配置正常了
所以获取license的过程就变快了。
关于license获取影响速度的原理我给大家说一下:
1、首先 MDK 不支持多文件编译(--multifile ),即便你手工在命令行里面加入也不行,因为MDK本身
就是一个.c一个.c的生成命令行然后编译的。与之相对, IAR支持多文件编译,这种情况下,IAR实际上
只编译一次。
2、每次编译,ARM Compiler都要去获取一次license,我这里说的每次编译说的是每个命令行(每个.c),
而不是你单机了下编译按钮。如果你文件较多,而获取license是通过局域网,任何局域网的延迟都要
根据你目标文件的数量翻倍的。
3、Cross Compilation 实际上要把所有文件来回编译3次,也就是说总体时间 *3
4、有些目标处理器因为目标芯片自身的问题,需要编译器在最后的link阶段扫描机器码然后自动打补丁(ST有
一些芯片就是这样),这个过程也是很慢很慢很慢的,如果你不幸是这类芯片,那么也是没有办法的
(看起来楼主不是这类芯片)
综上所述,如果你想解决这类问题:
1、换standalong 的license
2、如果你没有条件用standalone的license,那么就想办法去看看floating license的网络配置吧。我默认
你是有正版产品序列号的(PSN)。如果是这样,如果你的序列号的技术支持还没有过期,欢迎发邮件
到 support-keil@arm.com 描述问题(用中文没问题)
3、如果你的技术支持已经过期(或者你用了D版),这类问题就是没法解决怎么办呢?还是有另外一个
办法的——那就是不用IDE进行编译,用批处理。思路是这样的:
在 Optioin for Target 的 output里面有一个选项 “Create Batch File”。选中以后,只要进行一次编译,
在你的工程文件夹里就会多一个批处理文件。你可以去修改这个批处理文件,手工把多个命令行改为
一个命令行——也就是使用多文件编译(也就是加入 --multifile)
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472m/chr1359124934478.html
以后编译用 批处理文件,这样就只会去获取一次License,时间会极大的缩短,编译的效果也比以前好,
因为 多文件编译 效果就是比普通的赞(相对单个文件独立编译,多个文件一起编译的时候编译器视野
更宽,做优化所需的信息更充足)
我猜是两个原因综合影响的结果:
1,没有用管理员权限运行mdk;
2,由于不是管理员权限运行的mdk,所以导致系统内置的反病毒程序对每个新生成的文件都执行扫描;
所以,最好的做法是在组策略中启用管理员运行本地程序,并禁止反病毒程序。
我就是这么做的,以前也遇到过你的情况,即便是IAR也一样慢。
做开发的电脑不要担心病毒,开发者又不会乱来。 Gorgon_Meducer 发表于 2017-10-6 17:20
你是什么license 类型?如果是floating licence或者是Flex的,这类问题可能是由于网络设置不对导致的。
你 ...
是在bach文件的--via后添加么,感觉是飞快{:smile:} 好帖,留名 iar比MDK好用多了 MDK连中文字串还有BUG,真的很差劲 gamethink 发表于 2017-11-5 15:44
按大师所说,断网无法编译了哦?
如果是Floating License或者Flex的,的确断网无法编译。如果是Standalone的,就无所谓啊。 看看进程里面是不是杀毒软件在捣鬼 感觉HAL库编译起来确实起来比较慢,即便PC机配置很高。标准库就比较快。 JackFrost 发表于 2017-3-10 16:38
现在的KEIL 5都能把CPU 4个线程都跑到100%了,不过速度还是慢,试着把杀病毒软件给关掉,情况是好了一些。...
不知道你用arm compiler 5还是6?用5的话选择使用多CPU跟单CPU编译基本上一样的,选择ARM COMPILER 6的话确实可以因为多CPU内核而快得多 severewinner 发表于 2017-3-6 12:02
多大的项目,KEIL目前没见过这么久的,除了之前单位有加密软件,每次都相当于加密再编译
超慢的……
如果是HAL库,重新编译5分钟跟正常 F4的话,2.13以后的HAL支持AC6,编译飞快 ST的 话换TrueSTUDIO 然后打开并行编译,免费没有任何版权问题 标记,我也遇到过,非常火大。 3700x+b450 电脑有待升级
页:
[1]