舫摘

知人者智 自知者明 胜人者有力 自胜者强

0%

给NDK构建加速

公司使用Cocos2d-x开发的项目,客户端源代码文件数量已经超过1200个,加上Cocos2d-x的5000个源文件,完整编译一次需要编译6000多个源文件。
使用Intel i5-4200M CPU的笔记本上编译耗时15分钟,这还是编译单Platform的耗时,如果需要编译出armeabi、armeabi-v7a、arm64-v8a,编译时间需要乘3倍。这个时间成本太高了。必须找出优化方案。

经过观察,ndk-build在进行编译时默认只使用一个核心

我们知道Linux下的make是可以使用-jN参数多核心进行编译的,ndk-build在编译时使用的是一套经过修改的Linux的toolchains,那ndk-build命令是否可以使用-jN参数进行多核心编译呢?

经过实验是可以的,可以看到下图CPU使用率达到100%,而且曲线很平滑,没有很大的波谷出现,每个核心的使用率始终保持100%。

单Platform编译时间为7分钟,整整压缩了8分钟的编译时间,结果非常喜人。

这还是在双核4线程的移动笔记本CPU上进行编译,理论上核心越多编译速度越快,相信在更强大的CPU上编译,编译速度会压缩的更多。