性能优化-编译时长优化

382 阅读1分钟

查看编译时间

终端执行:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES

重启xcode,编译完后在上方可以看到编译时间

优化项

swift 类型检查耗时检测: 对于 swift 来说,编译耗时的主要就是类型检查 在 xcode => build settings => Other Swift Flags 添加下面设置,可以看到 swift 的表达式和函数的 类型检查的时长。超过给定的时长则会给出警告。

  1. dSYM 可以设置debug不生成dSYM,只在release或其它需要时候生成。

  1. 第三方库模块化,减少动态库

    clean之后会重新编译第三方库,所以吧pod的第三方库先打包成.a文件,具体怎么做,后面尝试!

  2. pch文件优化 检查pch文件,删除不用的头文件

  3. .h 文件尽量少写引用。引用尽量写在 .m文件里

  4. 删除不用引用 不用的类等删掉。 可以appcode来快速检查项目。

  5. Swift 优化 a. 优化swift编译选项,设置whole module将swift合并为一个,可以大大减少编译时长

    b. 减少类型推断

  6. 增加Xcode编译线程数量 Xcode默认使用和cup核实相同的线程数量来编译,但由于编译过程中的io操作往往比cpu运算要多,因此可以适当提升编译的线程数量

    1.获取当前内核数
    sysctl -n hw.ncpu
    
    2.获取编译线程数
    defaults read xcodebuild IDEBuildOperationMaxNumberOfConcurrentCompileTasks
    
    3.可以根据自己Mac的性能,更改线程数
    defaults write xcodebuild IDEBuildOperationMaxNumberOfConcurrentCompileTasks 6