- 主题:Cortex-M3平台下GCC编译器相比AC6编译器差距明显
这几个选项除了-flto都是有的。AC6也是开了LTO优化的。
刚刚给GCC加上-flto选项试了下,-Os优化体积没有变化,还是11136字节。
【 在 tom6bj (tom) 的大作中提到: 】
: 标 题: Re: Cortex-M3平台下GCC编译器相比AC6编译器差距明显
: 发信站: 水木社区 (Mon Jul 19 21:14:35 2021), 站内
:
:
: 编译选项加 -ffunction-sections -fdata-sections
: 链接选项加 -Wl,--gc-sections
: 这是必须的
:
: 链接选项加-specs=nano.specs, 能省一点点
:
: -flto, 链接时跨文件优化, 能再小一点快一点, 不过编译链接速度慢一点
:
: 【 在 spadger (echo) 的大作中提到: 】
:
: 我其实不大关心性能,8M开始,不够就提高一点,大多数应用频率都远低于器件的最高
: 频率。
:
: 我比较在意的是代码密度,毕竟代码越小就能用更便宜的器件。
:
: 顺便请教如何在GCC下进一步减小代码尺寸。
:
:
: 【 在 feiy (null) 的大作中提到: 】
: : 相差7成这么大? 一般相差1-2成,我就受不了了。
: : 毕竟两个编译器的优化等级,并不完全等效,即使都是等同的-O3,也不一定完全等效,
: : 所以,得到的性能表现可能会有一些差异。我的经验认为这种差异(这种因为编译选项
: : ...................
:
: --
:
:
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 107.6.246.*]
--
FROM 111.18.44.*
哦, 编译选项也要加-flto, 然后可能还有几个桩函数要处理一下
【 在 spadger (echo) 的大作中提到: 】
这几个选项除了-flto都是有的。AC6也是开了LTO优化的。
刚刚给GCC加上-flto选项试了下,-Os优化体积没有变化,还是11136字节。
【 在 tom6bj (tom) 的大作中提到: 】
: 标 题: Re: Cortex-M3平台下GCC编译器相比AC6编译器差距明显
: 发信站: 水木社区 (Mon Jul 19 21:14:35 2021), 站内
:
:
: 编译选项加 -ffunction-sections -fdata-sections
: 链接选项加 -Wl,--gc-sections
: 这是必须的
:
: 链接选项加-specs=nano.specs, 能省一点点
:
: -flto, 链接时跨文件优化, 能再小一点快一点, 不过编译链接速度慢一点
:
: 【 在 spadger (echo) 的大作中提到: 】
:
: 我其实不大关心性能,8M开始,不够就提高一点,大多数应用频率都远低于器件的最高
: 频率。
:
: 我比较在意的是代码密度,毕竟代码越小就能用更便宜的器件。
:
: 顺便请教如何在GCC下进一步减小代码尺寸。
:
:
: 【 在 feiy (null) 的大作中提到: 】
: : 相差7成这么大? 一般相差1-2成,我就受不了了。
: : 毕竟两个编译器的优化等级,并不完全等效,即使都是等同的-O3,也不一定完全等效,
: : 所以,得到的性能表现可能会有一些差异。我的经验认为这种差异(这种因为编译选项
: : ...................
:
: --
:
:
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 107.6.246.*]
--
FROM 107.6.246.*
编译选项加了-flto选项后,-Os优化代码体积确实减少很多,8656字节,非常接近AC6的
数值了。明天我把速度再测一下更新本帖。
编译选项加了-flto以后,功能不正常,直接死机了,去掉-flto就好了,以后有时间再查
【 在 tom6bj (tom) 的大作中提到: 】
: 哦, 编译选项也要加-flto, 然后可能还有几个桩函数要处理一下
: 这几个选项除了-flto都是有的。AC6也是开了LTO优化的。
: 刚刚给GCC加上-flto选项试了下,-Os优化体积没有变化,还是11136字节。
: ...................
--
修改:spadger FROM 36.45.171.*
FROM 111.18.44.*
RV32下,开LTO + O2可能会更积极的内联函数,导致结果偏大。
【 在 tom6bj (tom) 的大作中提到: 】
: 哦, 编译选项也要加-flto, 然后可能还有几个桩函数要处理一下
: 这几个选项除了-flto都是有的。AC6也是开了LTO优化的。
: 刚刚给GCC加上-flto选项试了下,-Os优化体积没有变化,还是11136字节。
: ...................
--
FROM 123.118.97.*
pc上的一个软件上用了flto之后发现不work,后来发现有个变量忘了加volatile,你的症状好像有点儿类似。
【 在 spadger 的大作中提到: 】
:
: 编译选项加了-flto选项后,-Os优化代码体积确实减少很多,8656字节,非常接近AC6的
: 数值了。明天我把速度再测一下更新本帖。
:
: 编译选项加了-flto以后,功能不正常,直接死机了,去掉-flto就好了,以后有时间再查
--
FROM 107.242.121.*
芯片多钱一个
【 在 spadger 的大作中提到: 】
: 最近给之前测试Dhrystone的代码增加了GCC的Makefile,刚好对比一下AC6和GCC的编译
: 结果
:
: 测试平台:GD32F103C8T6,Cortex-M3核心,8M主频。测试代码除了startup文件以外完
: 全相同。
:
: 编译器版本分别为:GCC
: ..................
发自「今日水木 on V1934A」
--
FROM 106.37.80.*