程序 codesize优化方法(二)——架构类优化

书接上回

1. 选用更高压缩率的压缩算法

        对kernel,rootfs,应用程序的压缩算法可以选择压缩率更高的算法如xz,不同的压缩算法的压缩率不同,压缩后的文件大小也会有很大的差异

        gzip、bzip2和xz都是用来压缩文件的工具,它们都是在Linux和其他Unix系统中经常使用的压缩工具。下面是这三个工具的比较

        a. 压缩率:xz > bzip2 > gzip 这三个工具的压缩率是不同的,xz压缩率最高,而gzip压缩率最低。

        b. 压缩速度:gzip > bzip2 > xz gzip的压缩速度最快,而xz的压缩速度最慢。

        c. 解压速度:gzip > bzip2 > xz gzip的解压速度最快,而xz的解压速度最慢。

        d. 使用内存:xz > bzip2 > gzip xz使用的内存最多,而gzip使用的内存最少。

2. 选用更小型的lib库

        对内存空间更为敏感的嵌入式环境中可以选择小巧一点的C库,相对于glibc,musl、uclibc等C库更为小巧。关于c lib库,有机会后面再详细介绍一下。

3. 编译隔离

        最典型的编译隔离就是Linux kernel的配置文件,通过make menuconfig可以配置内核的功能项开关。我们可以不选择那些我们用不着的功能,从而减少内核体积。

        对于应用代码,需要分析不需要的特性,将这部分代码剪裁掉,建议使用类似Linux配置选项的方法,可以方便地进行剪裁。

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bluetangos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值