搜索
bottom↓
回复: 51

如何提高keil的编译速度?

[复制链接]

出0入84汤圆

发表于 2018-11-16 17:09:21 | 显示全部楼层 |阅读模式
keil编译的效率太低了,标准库加lwip 再加些代码 ,才几个文件,编译一次要50秒。 CPU占用率3%以内。。。

在虚拟机里编译一个linux 4.14的内核也就50秒 到60秒时间。。

如何能让keil发挥出CPU性能?

出0入0汤圆

发表于 2018-11-16 17:16:23 | 显示全部楼层
头文件的宏定义大多!

出0入0汤圆

发表于 2018-11-16 17:19:08 | 显示全部楼层
楼主,先确认你的系统,是否有杀毒软件监控,

出0入84汤圆

 楼主| 发表于 2018-11-16 17:32:09 | 显示全部楼层
yy625 发表于 2018-11-16 17:16
头文件的宏定义大多!

有linux内核多吗 ?
。。

电脑CPU R7 2700  内存DDR4 3000  16GB  硬盘 三星PM961 .

KEIL根本发挥不出来。 linux下的编译速度还是非常快的,比我以前的8600K要好。

出0入84汤圆

 楼主| 发表于 2018-11-16 17:34:34 | 显示全部楼层
xiaomu 发表于 2018-11-16 17:19
楼主,先确认你的系统,是否有杀毒软件监控,

刚试了下关闭杀毒软件情况依旧。。。 快了5秒 也不知道是误差还是提升。

出0入22汤圆

发表于 2018-11-16 17:40:00 来自手机 | 显示全部楼层
我编译一个lwip,usb的工程,用了3分50秒的掩面飘过。

出0入0汤圆

发表于 2018-11-16 17:42:01 来自手机 | 显示全部楼层
编译一个ECU软件需要4个小时的默默飘过

出0入25汤圆

发表于 2018-11-16 17:51:33 | 显示全部楼层
记得配置工具(扳手图标)下面有个 并行构建设置 选项,选择你的CPU核心数量,试试!!

出0入25汤圆

发表于 2018-11-16 18:00:24 | 显示全部楼层

去掉生成浏览信息,,实测编译时间由36秒降低到10秒




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-11-16 18:04:24 | 显示全部楼层
墨非 发表于 2018-11-16 17:51
记得配置工具(扳手图标)下面有个 并行构建设置 选项,选择你的CPU核心数量,试试!! ...



是这个吗?我这个从未配置过,他默认就是我CPU 8线程的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-11-16 18:30:47 | 显示全部楼层
加个选项  -jn  n为几个核

出0入0汤圆

发表于 2018-11-16 18:41:25 | 显示全部楼层
换编译器,mdk5有llvm编译器选项

出0入84汤圆

 楼主| 发表于 2018-11-16 19:01:35 | 显示全部楼层
我的keil没有核心数量这个选项,最关键是现在一个核心都占不满, 经常用带FREETOS和lwip 等比较大的库,编译核下载时间实在感人,效率太低了。

出140入158汤圆

发表于 2018-11-16 19:55:31 | 显示全部楼层
MDK5以上支持多核编译,还有您最好换成Intel的CPU,MDK用AMD的CPU问会有奇形怪状的问题

出0入84汤圆

 楼主| 发表于 2018-11-16 20:02:44 | 显示全部楼层
统一回复楼上  也帮助不知道的人,
原来是5.15版本 没有多核支持
刚才升级到5.26版本,打开多核支持后编译同一个项目,5.15版本需要50秒, 5.26版本需要4秒!!!!! 真的是4秒!

另外AMD的处理没遇到过任何兼容问题, 以前8600K创建的虚拟机 直接在2700上打开,没任何错误,编译linux uboot 还有移植的项目 和QT的工程都正常! 并且速度快一倍。

出0入84汤圆

 楼主| 发表于 2018-11-16 20:04:02 | 显示全部楼层
又编译了几次 最低一次3秒~~~~~~~~

AMD 这次给力 。

出0入8汤圆

发表于 2018-11-16 20:05:07 | 显示全部楼层
KEIL什么版本


试试KEIL5.26,V6编译器。。。默认是V5

出0入84汤圆

 楼主| 发表于 2018-11-16 20:09:03 | 显示全部楼层

默认的V5稳定4秒编译完 原来需要50多秒,提升10倍以上, V6编译器一堆错误懒得去看 4秒我已经非常满意了。

出0入84汤圆

 楼主| 发表于 2018-11-16 20:12:42 | 显示全部楼层
同一个虚拟机,2700可以1分钟内编译完IMX6的linux内核, 8600k需要2分钟左右, 这种项目编译16核打6核 还是轻松按地上摩擦的。

出0入22汤圆

发表于 2018-11-16 20:52:28 来自手机 | 显示全部楼层
Jmhh247 发表于 2018-11-16 20:05
KEIL什么版本



hal库,v6一堆错误,如何破啊?

出0入50汤圆

发表于 2018-11-16 22:04:38 | 显示全部楼层
MDK新版这么6,升级试试

出0入0汤圆

发表于 2018-11-16 23:41:47 来自手机 | 显示全部楼层
IAR是否有同样的问题,目前我用的是7.6版本,编译大概要30秒,8.0以上会不会快很多?

出0入84汤圆

 楼主| 发表于 2018-11-16 23:45:41 | 显示全部楼层
zhikunWang 发表于 2018-11-16 23:41
IAR是否有同样的问题,目前我用的是7.6版本,编译大概要30秒,8.0以上会不会快很多? ...

这个就不知道了 除了430 和 STM8用IAR很少用, 工程也都不复杂,无所谓了。

5.26安装后默认16线程全开。速度很给力。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-11-17 11:21:08 | 显示全部楼层
难怪我编译都觉得MDK挺快的,原来是我用的MDK5.23版本自动开了4核心编译,编译时候看任务管理器CPU占用100%

出50入0汤圆

发表于 2018-11-17 15:48:24 | 显示全部楼层
BSMGood 发表于 2018-11-16 17:42
编译一个ECU软件需要4个小时的默默飘过

兄弟,会刷ECU不?

出0入0汤圆

发表于 2018-11-17 16:39:40 | 显示全部楼层
不要勾选 Create Batch FIle

出1310入193汤圆

发表于 2018-11-17 16:45:20 | 显示全部楼层
C51的工程项目蛮快  MDK5.STM32的工程项目就很慢了

出0入8汤圆

发表于 2018-11-18 11:56:43 | 显示全部楼层
zxq6 发表于 2018-11-16 20:52
hal库,v6一堆错误,如何破啊?

我特意说了KEIL版本,不知道大佬你用哪个版本?


WIN10 1803版本,使用KEIL5.26以下的版本,V6就会报错,KEIL官方已经说了

换成KEIL5.26就OK,

如果你不是这个原因引起的错误,我就不清楚了。

下面看个HAL+V6 ok的图,我特意截的




另,我很老的笔记本(5年前),用V6比V5快大约 6 倍,不知道处于什么水平。。。存钱换装备啊




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入22汤圆

发表于 2018-11-18 12:29:23 | 显示全部楼层
Jmhh247 发表于 2018-11-18 11:56
我特意说了KEIL版本,不知道大佬你用哪个版本?

我现在用的是5.23版本。好久换个5.26的试试看
v6好像确实比v5编译速度快很多的。

出0入84汤圆

 楼主| 发表于 2018-11-18 21:51:41 | 显示全部楼层
编译 一个lwip 加乱七八糟一堆东西用KEIL 5.15           50秒  
keil5.26 keil5.23都是4秒搞定,V5的编译器,V6报错,没必要折腾 4秒能提高到哪里。

5.26仿真keil直接无响应,换成了5.23 用着还行。

出0入0汤圆

发表于 2018-11-18 22:01:18 | 显示全部楼层
硬盘是机械盘还是固态盘?

出0入84汤圆

 楼主| 发表于 2018-11-18 22:12:32 | 显示全部楼层
pm961 。。         

出0入8汤圆

发表于 2018-11-19 16:17:11 | 显示全部楼层
恭喜楼主终于尝到多核的好处了,现在keil 编译一下 基本16个核都能到90%以上。  好早就升级是 5.24a了。

出0入4汤圆

发表于 2018-11-19 16:46:01 | 显示全部楼层
换iar吧,感觉比mdk快不少。。。

出0入22汤圆

发表于 2018-11-19 16:53:45 来自手机 | 显示全部楼层
Jmhh247 发表于 2018-11-18 11:56
我特意说了KEIL版本,不知道大佬你用哪个版本?



我的win7,换5.26的mdk,使用v6编译器也有大堆错误啊?是不是跟操作系统有关系?

出0入8汤圆

发表于 2018-11-19 17:09:53 | 显示全部楼层
zxq6 发表于 2018-11-19 16:53
我的win7,换5.26的mdk,使用v6编译器也有大堆错误啊?是不是跟操作系统有关系? ...

不是 是语法的问题,原厂写的库就没有适配过V6编译器 所以 没有办法。只能用V5

出0入0汤圆

发表于 2018-11-19 18:07:06 | 显示全部楼层
boyiee 发表于 2018-11-18 21:51
编译 一个lwip 加乱七八糟一堆东西用KEIL 5.15           50秒  
keil5.26 keil5.23都是4秒搞定,V5的编译 ...

好像要把断点取消了,再进退debug模式才行。太蛋疼,还是退回来用吧

出0入8汤圆

发表于 2018-11-20 08:41:33 | 显示全部楼层
zxq6 发表于 2018-11-19 16:53
我的win7,换5.26的mdk,使用v6编译器也有大堆错误啊?是不是跟操作系统有关系? ...

早不用win7了,这就不知道了,你搜搜看吧

出0入8汤圆

发表于 2018-11-20 08:43:36 | 显示全部楼层
kebaojun305 发表于 2018-11-19 17:09
不是 是语法的问题,原厂写的库就没有适配过V6编译器 所以 没有办法。只能用V5 ...

看我28楼的图,stm32fCubeMx自动生成HAL 工程,无任何问题。。。

出0入8汤圆

发表于 2018-11-20 09:07:17 | 显示全部楼层
Jmhh247 发表于 2018-11-20 08:43
看我28楼的图,stm32fCubeMx自动生成HAL 工程,无任何问题。。。

hal  没试过  我试过 标准库  确实没有适配V6的编译器。

出10入12汤圆

发表于 2018-11-20 09:41:48 | 显示全部楼层
intel的U会好点!!!!!!!1

出0入84汤圆

 楼主| 发表于 2018-11-20 10:10:56 | 显示全部楼层
wowangru 发表于 2018-11-20 09:41
intel的U会好点!!!!!!!1

跟U没关系,ryzen +  兼容性现在基本没什么问题了

我经常使用的keil, linux ,QT , cadence  ,AD ,sublime text 虚拟机, 都允许非常正常,而且编译速度要快很多,

同一个虚拟机 同一个imx6的内核, 同样1700块的8600K 和R7 2700     AMD编译速度要快一倍!

出0入0汤圆

发表于 2018-11-20 11:03:37 | 显示全部楼层
keil慢还有个情况就是每个文件编译的时候都会去检查一次license,如果像是PJ版用的都是文件license还好,如果是float的,然后网络又不怎么好,那编译速度才是慢的酸爽。

出0入0汤圆

发表于 2018-11-20 11:18:33 | 显示全部楼层
IAR 網路授權的也是會先卡著連Sever端
build速度就賊慢

出0入22汤圆

发表于 2018-11-20 13:18:01 来自手机 | 显示全部楼层
Jmhh247 发表于 2018-11-18 11:56
我特意说了KEIL版本,不知道大佬你用哪个版本?



我知道我的工程出错的原因了。因为是使用了freertos和lwip以及fatfs,所以这些地方出错的。而不是hal库出错的。

出0入0汤圆

发表于 2018-11-20 13:28:09 | 显示全部楼层
谢谢分享  学习了

出0入0汤圆

发表于 2018-11-22 08:32:34 | 显示全部楼层
9楼的方法,编译熟读确实提高不少。赞!

出0入0汤圆

发表于 2018-11-22 09:35:08 | 显示全部楼层
换个高配置电脑,把头文件里该不包含的全去掉~~

出10入12汤圆

发表于 2018-11-22 10:49:27 | 显示全部楼层
好像只有一个核在干活!!!!!!!!!!

出0入0汤圆

发表于 2020-5-8 11:07:42 | 显示全部楼层
怪不得每次编译,其他程序就要卡死。  
原来就是多核编译设置满了的问题,保留1-2个核就好了。

出0入0汤圆

发表于 2020-5-9 23:45:20 来自手机 | 显示全部楼层
keil编译时间设置,赞一个

出0入300汤圆

发表于 2020-5-10 00:00:51 | 显示全部楼层
使用双28核112线程的处理器
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-10 20:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表