魔趣论坛

 找回密码
 注册账号
通过您的新浪微博帐号登录
QQ登录
查看: 1444|回复: 0

[开发文档] 介绍魔趣开源项目独家ccache分离设计 - 轻松管理多设备编译,调节硬盘可用空间

[复制链接]
  • TA的每日心情
    奋斗
    2017-6-28 20:44
  • 签到天数: 1303 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2015-7-18 20:11:55 | 显示全部楼层 |阅读模式
    ccache介绍:
    ccache(complier cache)是一个编译器高速缓存工具,开启它会在编译特定部分源码时使用高速缓存的信息,比如头文件,使编译时间大幅缩短。

    开发者开启ccache之后的编译加速效果非常明显,至少能减少1/3的编译时间。
    有关ccache优化效果的测试请查看:http://bbs.mfunz.com/thread-1009955-1-1.html
    缓存信息将会存放在一个预先设定的目录里,Google官方默认推荐为ccache分配50GB - 100GB的空间。

    Google标准的ccache缓存方式如下图:

    事实上,我们认为这种设计是极其不合理的。
    1.编译单个设备根本不需要这么多空间。长久以往只会导致冗余数据越来越多,极大的占用硬盘空间。
    2.所有设备的ccache数据无法区分,当你不再开发某款设备时,你无法将该设备的ccache缓存删干净,白白占用硬盘空间。如果你删除了整个ccache缓存目录,也就意味着你正在开发的所有机型都要重新经历一次漫长的编译。

    魔趣的ccache分离设置则可以有效解决这个问题。
    我们的编译系统会对每款设备分别创建属于自己的ccache目录。
    当你不再开发每款设备时同时想节省些硬盘空间时,你只需要删除该设备的ccache目录就行了。
    同时,我们默认的ccache分配是单个设备16GB空间,这是我们经过对设备编译测试后提供的一个推荐值。
    如果你不愿意使用我们的推荐值,你也可以通过Google标准的指令自行分配空间。
    总之,我们在保证Google ccache原理和设计不被打破的情况下,做了更好的改进。

    魔趣优化的ccache缓存方式如下图:


    本帖子中包含更多资源

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

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册账号  

    本版积分规则

    手机版|魔趣论坛 |

    我们旨在提供一个良好的手机玩家技术交流、资源分享社区,如果有涉及版权的资源,请联系管理员并提供相应的版权证明,我们会进行相应处理。

    GMT+8, 2017-8-24 05:36 , Processed in 0.058102 second(s), 28 queries , Gzip On, Redis On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

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